力扣 26. 删除有序数组中的重复项

目录

  • 1.解题思路
  • 2.代码实现

1.解题思路

由于数组为非严格递增排列的数组,因此可利用快慢指针,如果快指针减一不等于快指针,将快指针的值给慢指针,并将快慢指针同时加一,但如果相同,则只让快指针加一向后走.

2.代码实现

int removeDuplicates(int* nums, int numsSize)
{
    if (numsSize == 0) {
        return 0;
    }
    int fast = 1, slow = 1;
    while (fast < numsSize) {
        if (nums[fast] != nums[fast - 1]) {
            nums[slow] = nums[fast];
            ++slow;
            ++fast;
        }
        else
        {
            ++fast;
        }
    }
    return slow;
}

结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!

你可能感兴趣的:(leetcode,算法,数据结构)