AC截图
题目
思路
遍历nums数组,将0删除并计数,最后在nums数组尾部添加足量的零
有一个问题是,vector数组一旦erase某个元素,会导致迭代器失效。好在有解决办法,erase会返回下一个有效元素的新迭代器。
代码
class Solution {
public:void moveZeroes(vector<int>& nums) {int cnt=0;for(auto it = nums.begin();it!=nums.end();){if(*it == 0){cnt++;it = nums.erase(it);}else{it++;}}while(cnt>0){nums.push_back(0);cnt--;}}
};