题目链接
思路
先设定变量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;
}
}
标签:27,val,idx,int,元素,移除,LeetCode
From: https://www.cnblogs.com/shixuanliu/p/17016485.html