283. Move Zeroes (Java)

傳進來的值長度為0就直接回傳。
如果不為零,先宣告一個ZeroCount變數:
int ZeroCount=0;

宣告一個ArrayList來存整數:
List<Integer> result = new ArrayList<Integer>();

掃整個nums,如果有0就ZeroCount+1,非0則把目前的數字丟進ArrayList
for(int i=0;i<nums.length;i++){

    if(nums[i]==0){

    ZeroCount++;

    }

    else{

     result.add(nums[i]);

    }

}

把ArrayList最尾端再加上剛剛ZeroCount總數一樣的0進去
for(int k=1; k<=ZeroCount; k++){

   result.add(0);

}



最後把ArrayList裡面的值塞回去nums
for(int p=0; p < nums.length; p++) {

   nums[p] = result.get(p).intValue();

}

Runtime: 13 ms Your runtime beats 13.52 % of java submissions.

留言

這個網誌中的熱門文章

利用Accuweather實作天氣APP

實作Android導覽教學(fragment)