leetcode 283 Move Zeros
Posted hwd9654
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 283 Move Zeros相关的知识,希望对你有一定的参考价值。
记录0的个数
有两种实现方法
1)保证index之后都是0
index初值为nums.length
碰到0就swap(i, index)
注意!别忘了i减一,以防漏掉这种情况:换过来的index所指元素值为0
2)保证index之前没有0
index初值为0
碰到不是0就将当前nums[i] 赋值给nums[index]
然后index~n-1补0
1 class Solution { 2 public void moveZeroes(int[] nums) { 3 int len = nums.length; 4 int i = 0; 5 6 for(int num : nums){ 7 if(num != 0){ 8 nums[i++] = num; 9 } 10 } 11 while(i < len){ 12 nums[i++] = 0; 13 } 14 } 15 }
以上是关于leetcode 283 Move Zeros的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 283 Move Zeros; 27 Remove Elements; 26