😶🌫️😶🌫️😶🌫️😶🌫️Take your time ! 😶🌫️😶🌫️😶🌫️😶🌫️
💥个人主页:🔥🔥🔥大魔王🔥🔥🔥
💥所属专栏:🔥魔王的修炼之路–数据结构🔥
如果你觉得这篇文章对你有帮助,请在文章结尾处留下你的点赞👍和关注💖,支持一下博主。同时记得收藏✨这篇文章,方便以后重新阅读。
四、26. 删除有序数组中的重复项
26. 删除有序数组中的重复项
思路
这道题和上面那题很相似,不能开辟额外空间,解法也很相似,也要使用双指针,题上说了给的是升序数组,所以我们的思路可以是这样的:同时创建两个指针,让一个先走,然后看它和第二个指针指向的值是否相等,如果不相等,同时都指向下一个元素,如果相等,就只让这个指针指向下一个元素,第二个指针不动。和上一个原理也是一样的:就是在这个数组中覆盖了不符合要求了(重复的数字)。代码如下:
代码
int removeDuplicates(int* nums, int numsSize){int dst = 0;int src = 1;while(src<numsSize){if(nums[dst]==nums[src]){src++;}else{dst++;nums[dst] = nums[src];src++;}}return dst+1;
}
- 博主长期更新,博主的目标是不断提升阅读体验和内容质量,如果你喜欢博主的文章,请点个赞或者关注博主支持一波,我会更加努力的为你呈现精彩的内容。
🌈专栏推荐
😈魔王的修炼之路–C语言
😈魔王的修炼之路–数据结构初阶
😈魔王的修炼之路–C++
😈魔王的修炼之路–Linux
更新不易,希望得到友友的三连支持一波。收藏这篇文章,意味着你将永久拥有它,无论何时何地,都可以立即找到重新阅读;关注博主,意味着无论何时何地,博主将永久和你一起学习进步,为你带来有价值的内容。