class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int cnt = 0;
for(int i = 0;i < nums.size();i++){
if(nums[i] != val)
nums[cnt++] = nums[i];
}
return cnt;
}
};
本题非常简单,而其中的难点为如何写出高效的代码。
如以上代码所示,可以用一个指针cnt
指向已经更新的合法数组的末尾,再对该数组进行一次遍历,将新发现的合法元素添加到合法数组的末尾,并将cnt
加一。
题目链接
原创不易,感谢支持!