給定一個數組 nums
,編寫一個函數將全部 0
移動到數組的末尾,同時保持非零元素的相對順序。算法
示例:數組
輸入: 輸出: [0,1,0,3,12][1,3,12,0,0]
說明:函數
思路:code
1,頭一看,思路很簡單,直接後移就能夠了。判斷一下數據,若是爲0 就循環向後移動。循環
2,思路也對,就是判斷少了,若是連續兩個0呢?立馬歇菜。數據
代碼:移動
public void moveZeroes(int[] nums) { int i ,y =0; for (i =0; i <nums.length ; i++) { if (nums[i] != 0) { nums[y] = nums[i]; y++; } } if(y != nums.length){ for (int j = y; j <nums.length ; j++) { nums[j] = 0; } }}最後一個小時的時間沒有寫出來,後來想一想不能如此的耽誤時間了,這原本就是簡單的算法,爲何我作的如此困難,參考了別人的思路,而後寫出了上面的代碼。頭疼。不會更笨了吧。