【数组】LeetCode 27. 移除元素
题目链接
思路
先设定变量idx,指向待插入位置。idx初始值为0。
然后从题目的「要求/保留逻辑」出发,来决定当遍历到任意元素 x 时,应该做何种决策:
- 如果当前元素
x与移除元素val相同,那么跳过该元素 - 如果当前元素
x与移除元素val不同,那么我们将其放到下标idx的位置,并让idx自增右移。
最终得到的 idx 即是答案。
代码
class Solution {
public int removeElement(int[] nums, int val) {
int idx = 0;
for (int x : nums) {
if (x != val) {
nums[idx++] = x;
}
}
return idx;
}
}

浙公网安备 33010602011771号