题解思路
这题其实就很好弄,想要把重复的元素去掉的话,遍历一次就行,不用想的太过复杂。只需要两个指针 l
和 i
就能解决。遍历每一次都检查一下,nums[i]
是否等于val
,如果不等于的话,就把nums[i]
赋值到nums[l]
,并且l
自增一下。如果等于的话就什么都不用做。
代码
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int l = 0;
for(int i = 0; i < nums.size(); i++) {
if(nums[i] != val) {
nums[l] = nums[i];
l++;
}
}
return l;
}
};
版权属于:江筱雨
本文链接:https://www.yuisblog.com/archives/74/
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!