本文最后更新于636 天前,其中的信息可能已经过时,如有错误请发送邮件到tomding1065@gmail.com
题目链接:https://leetcode.cn/problems/remove-element/
文章讲解:https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html
视频讲解:https://www.bilibili.com/video/BV12A4y1Z7LP
1.刚看的时候感觉就是数据结构课上的删除一个元素就是将数据前移,别的倒是没什么印象,想的不就是两个for循环吗。
2.看了代码随想录里的思路才开始我的双指针之旅,其实之前双指针早有耳闻,但是我这个学艺不精,所以也就是知道的程度但是,看了思路之后才知道双指针的妙用,其实我感觉有点爱上刷题了。
3.这题对我来说没什么难度,看了思路,迅速的就做出来了,小有成就。嘻嘻~
CPP
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int slow = 0;
for(int fast = 0; fast<nums.size(); fast ++){
if(val != nums[fast]){
nums[slow] = nums[fast];
slow++;
}
}
return slow;
}
};