给一个数组 nums 写一个函数将 0
移动到数组的最后面,非零元素保持原数组的顺序
样例
例1:
输入: nums = [0, 1, 0, 3, 12],
输出: [1, 3, 12, 0, 0].
例2:
输入: nums = [0, 0, 0, 3, 1],
输出: [3, 1, 0, 0, 0].
注意事项
1.必须在原数组上操作
2.最小化操作数
class Solution {
public:
/**
* @param nums: an integer array
* @return: nothing
*/
void moveZeroes(vector<int> &nums) {
// write your code here
int s=0;
for(int i=0;i<nums.size();i++)
{
if(nums[i]==0)
{
nums.erase(nums.begin()+i);
i--;
s++;
}
}
for(int i=0;i<s;i++)
{
nums.push_back(0);
}
}
};