之前发布的文章里有removElement的操作,这里就不具体讲解了,移动零就相当于去除指定值然后再往后面赋值为零就可了
class Solution {
public void moveZeroes(int[] nums) {
int p=removeElement(nums,0);
for(int i=p;i<nums.length;i++){
nums[i]=0;
}
}
private int removeElement (int[] nums,int val){
while(nums.length==0){
return 0;
}
int slow=0,fast=0;
while(fast<nums.length){
if(nums[fast]!=val){
nums[slow]=nums[fast];
slow++;
}
fast++;
}
return slow;
}
}