截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载
下载链接:https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ
提取码:6666
视频讲解
LeetCode,初级算法-移动零
B站视频合集:https://www.bilibili.com/video/BV1EB4y1Q7qV
代码部分
解法一
public void moveZeroes(int[] nums) {
int index = 0;
//一次遍历,把非零的都往前挪
for (int i = 0; i < nums.length; i++) {
if (nums[i] != 0)
nums[index++] = nums[i];
}
//后面的都是0,
while (index < nums.length) {
nums[index++] = 0;
}
}
解法二
public void moveZeroes(int[] nums) {
int index = 0;
for (int i = 0; i < nums.length; i++) {
//只要不为0就往前挪
if (nums[i] != 0) {
//i指向的值和j指向的值交换
int temp = nums[index];
nums[index] = nums[i];
nums[i] = temp;
index++;
}
}
}