題目描述
題目
題目
實現(xiàn)思路
- 從前往后遍歷數(shù)組,直到發(fā)現(xiàn)一個0
- 從0的位置開始向后尋找非零數(shù)
- 發(fā)現(xiàn)一個非零數(shù)就與之前保存的0的位置互換
- 記錄對換之后的位置,下次尋找非零數(shù)在當前位置的后一位開始查找
代碼部分
class Solution {
public void moveZeroes(int[] nums) {
int lastj = 0;
int j = 0;
for(int i = 0;i<nums.length;i++){
if(nums[i]==0){
if(lastj != 0)
j = lastj+1;
else
j = i+1;
while(j<=nums.length-1){
if(nums[j]!=0){
nums[i] = nums[j];
nums[j] = 0;
lastj = j;
break;
}
j++;
}
}
if(lastj == nums.length-1)
return;
}
}
}
通過情況
屏幕快照 2018-10-10 16.29.14.png