1、移动零
class Solution {public void moveZeroes(int[] nums) {int left=0;int right=0;for(right=0;right<nums.length;right++){if(nums[right]!=0){if(nums[left]==0){int temp=nums[left];nums[left]=nums[right];nums[right]=temp;}left++;}}}
}
两个指针将一个数组划分三个部分:
[0,left-1] 为已处理部分,按照题目意思就是非零部分
[left,right-1]也是已处理部分,按照题目意思就是全零部分
[right,nums.length-1]未处理部分,如果nums[right]==0则不用处理。如果nums[right]!=0则与第一个0交换位置
2、复写零