问题:
思路:
这个题比较简单。
引入一个标记非0数的下表index,表示目前存到的位置
遇到非零,将数据填入前边的位置
index | 0 | 1 | 0 | 3 | 1 | 2 |
0 | continue | |||||
1 | 1 | nums[index]=1 | ||||
continue | ||||||
2 | 3 | nums[index]=3 index++ | ||||
3 | 1 | nums[index]=1 index++ | ||||
4 | 2 | nums[index]=2 index++ | ||||
0 | 0 |
代码:
public void moveZeroes(int[] nums) {
int index = 0;
for(int i=0;i<=nums.length-1;i++){
if(nums[i]==0){
continue;
}else{
nums[index]=nums[i];
index++;
}
}
while(index<nums.length){
nums[index]=0;
index++;
}
}