https://labuladong.github.io/algo/challenge/ji-chu-tiao-zhan/day02/
快慢指针
26. 删除有序数组中的重复项
两个指针分别维护符合条件数组和待删除数组,当快指针移动时将符合条件元素插入已完成数组后即可。
通过这两天对双指针的练习,可以发现很多双指针算法其实也是一种迭代算法,只是通过指针特性维护不同队列、链表、数组,实现较小改动。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0) return 0;
int slow,fast;
int len=nums.size();
for(slow=0,fast=1;fast<len;fast++){
if(nums[slow]!=nums[fast]){
nums[++slow]=nums[fast];
}
}
return slow+1;
}
};
左右指针
在文章中介绍了很多左右指针的用法,如:二分查找,nums和回文判断,这里选择最后一个最长回文练习
5. 最长回文子串