完整实现代码:
java
class Solution {
public int removeElement(int[] nums, int val) {
int k = 0; // 记录不等于 val 的元素个数
for (int i = 0; i < nums.length; i++) {
if (nums[i] != val) {
nums[k] = nums[i]; // 将非 val 元素移到前面
k++;
}
}
return k;
}
}
解题思路:
基本思路就是遍历数组,把不等于val的元素移动到数组的前边,最后返回不等于val的元素个数就可以了
代码实现:首先定义一个k用来记录不等于val的元素个数,遍历数组,判断当前元素与val是否相同,如果不同就交换k索引对应的元素和当前元素的位置,然后k++,继续下一次操作,最后k的值就是数组中不等于val的元素的个数