移动零
题目描述
给定一个数组 nums
,将所有 0
移动到数组的末尾,同时保持非零元素的相对顺序。
解题思路
按照题目思路,别的数都不变,只将0移动到数组末尾,很简单,遇到0把0删了,然后在末尾添加0,就ok了。但是不同于删除重复数可以用while(iterator!=nums.end()){}这个只能用for循环
class Solution {
public:
void moveZeroes(vector<int>& nums)
{
if(!nums.size()) return;
auto iterator=nums.begin();
for(int i=0;i<nums.size();i++)
{
if(*(iterator)==0)
{
nums.erase(iterator);
nums.push_back(0);
}
else
iterator++;
}
}
};