Move Zeroes

1. Title

283. Move Zeroes

2. Http address

https://leetcode.com/problems/move-zeroes/

3. The question

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

4 My code(AC)

public class Solution {
  
      public  void moveZeroes(int[] nums) {
        
        if (nums == null)
            return;
        int len = nums.length;
        int i = 0, step = 0;
        while (i < len) {
            if (nums[i] == 0) {
                step++;
            }else{
                nums[i - step] = nums[i];
            }
            i++;
        }
        for (int index = 0; index < step; index++) {
            nums[len - index - 1] = 0;
        }
    
    }
}

 

posted @ 2016-05-19 20:37  ordi  阅读(178)  评论(0编辑  收藏  举报