2021-09-06

初阶数据结构顺序表OJ题

文章目录

移除数组

删除有序数组中的重复项

2021-09-06

题目的链接

分析如下图:
2021-09-06
思路一和思路二都不符合题目的要求

int removeElement(int* nums, int numsSize, int val)
{
    int src = 0,dst=0;
    while(src<numsSize)
    {
        //找不是val的值
        if(nums[src] == val)
        {
            src++;
        }
        else
        {
            nums[dst] = nums[src];
            src++;
            dst++;
        }
    }
    return dst;
}

2021-09-06
2.2021-09-06

题目链接

画图分析
2021-09-06

int removeDuplicates(int* nums, int numsSize)
{
     //先判断有没有元素
    if(numsSize == 0)
    {
        return 0;
    }
    int src = 0,dst = 0;
    while(src < numsSize)
    {
        if(nums[src] == nums[dst])
        {
            src++;
        }
        else
        {
            nums[dst+1] =nums[src];
            src++;
            dst++;
        }
    }
    return dst+1;//注意:数组最大下标值+1=数组长度
}

2021-09-06
当然一道题会有不同的解法。有错误的地方还请大佬们指出!
2021-09-06

上一篇:删除有序数组的重复项--C语言--力扣


下一篇:2day