1. 268

[move-zeroes/](https://leetcode.com/problems/move-zeroes/)


2. 算法

  • O(n)

stl

  • 双指针:O(n)

3. 代码

3.1

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        return fill(remove(nums.begin(),nums.end(),0),nums.end(),0);

    }
};

3.2 双指针

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        if (nums.empty()) return;
        int fill=0,cur=0;
        int sz=nums.size();
        while(cur<sz){
            if(nums[cur]!=0)
                nums[fill++]=nums[cur];
            ++cur;
        }

        while(fill<sz)
            nums[fill++]=0;
        return;
        }
};

results matching ""

    No results matching ""