Move Zeroes

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].

 

class Solution {

  public: void  moveZeroes(vector<int>& nums )
    {
        int length = nums.size();
        int pos = 0;
        for (int i= 0;i<length;i++)
        {
           
            if(nums[i]!= 0)
            {
                nums[pos] = nums[i];
                pos++;
            }
        }
        for(;pos<length;pos++)
        nums[pos] = 0;
    }
};

posted @ 2015-12-09 16:12  雪之灵  阅读(131)  评论(0)    收藏  举报