码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode:Move Zeroes

时间:2016-05-12 11:35:06      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

Move Zeroes

Total Accepted: 80502 Total Submissions: 181411 Difficulty: Easy

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

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

Subscribe to see which companies asked this question

Hide Tags
 Array Two Pointers
Hide Similar Problems
 (E) Remove Element
























c++ code:

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int count = 0;
        for(int i=0;i<nums.size();i++) 
            if(0 == nums[i]) count++;
        int k=0;
        for(int i=0;i<nums.size();i++)
            if(0!=nums[i]) nums[k++] = nums[i];
        
        for(int i=nums.size()-count;i<nums.size();i++) 
            nums[i] = 0;
    }
};


LeetCode:Move Zeroes

标签:

原文地址:http://blog.csdn.net/itismelzp/article/details/51377983

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!