LeetCode:Move Zeroes

来源:互联网 发布:手机歌录软件 编辑:程序博客网 时间:2024/06/07 20:27

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;    }};


0 0