⭐️ 题目描述
🌟 leetcode链接:删除有序数组中的重复项
代码:
/*思路:双指针问题[1,1,2]src-> [ 1 , 1 , 2 ]destnums[src] == nums[dest] => src++;src-> [ 1 , 1 , 2 ]destnums[src] != nums[dest] => nums[++dest] = nums[src++];src-> [ 1 , 2 , 2 ]dest循环结束result: [1 , 2] 返回数组长度,但是此时dest指向下标1位置,所以返回值为 ++dest
*/
int removeDuplicates(int* nums, int numsSize){int src = 1;int dest = 0;while (src < numsSize) {if (nums[src] == nums[dest]) {src++;} else {nums[++dest] = nums[src++];}}return ++dest;
}