.给定一个整数数组 nums,将所有 0 移动到数组的末尾,同时保持非零元素的相对顺 序。
时间: 2023-06-11 20:06:39 浏览: 164
数组中移除指定元素的方法
可以使用双指针的方法来解决这个问题。定义一个指针 i 和另一个指针 j ,初始时 i 和 j 都指向数组的开头。遍历数组,当遇到非零元素时,将其放到数组的第 i 个位置,同时将 i 指针后移一位。遍历结束后,将 i 指针后面的所有元素都设置为 0 即可。
代码实现如下:
```
void moveZeroes(vector<int>& nums) {
int i = 0, j = 0;
while (j < nums.size()) {
if (nums[j] != 0) {
nums[i] = nums[j];
i++;
}
j++;
}
while (i < nums.size()) {
nums[i] = 0;
i++;
}
}
```
阅读全文