题目传送:移除元素
解决办法:
快慢指针:
int removeElement(vector<int>& nums, int val) {
int fast = 0;//快指针
int low = 0;//慢指针
while (fast < nums.size()) {
if (nums[src] != val) {
nums[low++] = nums[fast++];
}
else {
fast++;
}
}
return low;//慢指针最后所处的位置即为现在的数组的大小
}
结果:
复杂度分析:
时间复杂度:O(N);
空间复杂度:O(1);