283. 移動零
阿新 • • 發佈:2018-12-10
給定一個數組 nums
,編寫一個函式將所有 0
移動到陣列的末尾,同時保持非零元素的相對順序。
示例:
輸入:[0,1,0,3,12]
輸出:[1,3,12,0,0]
說明:
- 必須在原陣列上操作,不能拷貝額外的陣列。
- 儘量減少操作次數
class Solution { public void moveZeroes(int[] nums) { if(nums.length < 2){ return ; } int zeroLoc = -1; for(int i=0; i<nums.length; ++i){ if(-1 == zeroLoc){ if(0 == nums[i]){ zeroLoc = i; } }else if(nums[i] != 0){ int temp = nums[i]; nums[i] = nums[zeroLoc]; nums[zeroLoc] = temp; ++zeroLoc; } } } }