移动零
2026年3月10日小于 1 分钟
移动零
使用到的方法
无
解题思路
- 使用双指针方法,
i指向当前处理的位置,j指向下一个非零元素的位置。 - 遍历数组,如果当前元素不为零,则将其移动到
j位置,并将j向右移动。 - 最后将
j位置及其之后的元素全部设置为零。
代码实现
class Solution {
public void moveZeroes(int[] nums) {
int notZero = 0;
for (int i=0;i<nums.length;i++){
if(nums[i] != 0){
nums[notZero] = nums[i];
notZero++;
}
}
for(int i=notZero;i<nums.length;i++){
nums[i] = 0;
}
}
}