双指针
283. 移动零
利用双指针从左向右遍历,将非零数按照出现的顺序排序,最后所有零都自然的排到了数组的末尾
class Solution {
public void moveZeroes(int[] nums) {
//利用双指针,将所有非零元素移动到数组的前面
int left = 0;
int right = 0;
//数组只有一个元素
if(nums.length == 1){
return ;
}
//遍历数组
while(right < nums.length){
if(nums[right] != 0){
int temp = nums[right];
nums[right] = nums[left];
nums[left] = temp;
//移动左指针
left++;
}
//移动右指针
right++;
}
}
}