题目:27. 移除元素
思路:双指针。
跟上一题思路基本一致,一个指针cur指向可以写入的位置,另一个指针遍历元素,遇到与val相等的元素就跳过,不相等的写道cur的位置,cur后移。
代码:
class Solution {
public int removeElement(int[] nums, int val) {
if (nums.length == 0) {
return 0;
}
int cur = 0;
for (int i = 0; i < nums.length; i ++) {
if (nums[i] != val) {
nums[cur] = nums[i];
cur ++;
}
}
return cur;
}
}