给一个数组 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 count = 0;
for(int i = 0; i < nums.size(); i++)
{
if(nums[i] != 0)
{
nums[count] = nums[i];
count++;
}
}
for(int i = count; i < nums.size(); i++)
{
nums[i] = 0;
}
}
};