THE EASIEST but UNUSUAL snowball JAVA solution BEATS 100% (O(n)) + clear explanation
让我们以我们的示例为例:
第一步-我们达到0。
好吧,请记住,现在我们的雪球大小为1。进一步。
下一步-我们遇到1.将雪球的最左0与元素1交换。
下一步-我们再次遇到0!
我们的球变大了,现在它的大小= 2。
下一步-3.再次用最左边的零交换。
看起来我们的零点一直在滚动
下一步-12.再次交换:
我们完成了!恭喜你!
public void moveZeroes(int[] nums) {
int j = 0; // 非0元素的位置
for(int i = 0; i < nums.length; i++) {
if(nums[i] != 0) {
nums[j] = nums[i];
if(i != j) {
nums[i] = 0;
}
j++;
}
}
}