[LeetCode]283. Move Zeroes

来源:互联网 发布:怎么找手机淘宝小二 编辑:程序博客网 时间:2024/06/14 09:01

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.


class Solution {public:    void moveZeroes(vector<int>& nums) {        //vector<int>::iterator it=nums.begin();        int length=nums.size();                for(int i=0; i<length; ){            if(nums[i]==0)                {                    nums.push_back(0);                    nums.erase(nums.begin() + i);                    length--;                                    }            else                i++;        }            }};


c++的话,弄明白vector的用法就可以了……


更多解法:

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

0 0