标签:fun etc number operation cti 就删除 cal its element
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:
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
解题思路:
对一个vector扫一遍如果是0就删除并加一个计数器最后加上去就好了
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        if(nums.size()==0) return;
        int count_zero=0;
        
        for(vector<int>::iterator iter = nums.begin();iter!=nums.end();){
            
            if(*iter == 0){
                
                iter = nums.erase(iter);
                count_zero++;
            }
            else{
                iter++;
            }
            
        }
        for(int i=0;i<count_zero;i++)
            nums.push_back(0);
    }
};
标签:fun etc number operation cti 就删除 cal its element
原文地址:https://www.cnblogs.com/liangyc/p/8793652.html