思路:
设置变量znums:出现的0的个数。遍历数组,若当前元素为0,则znums加1,否则将当前元素与(当前下标-znums)的元素互换位置。
代码如下:
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int znums = 0;
int len = nums.size();
int tmp;
for (int i = 0;i<len;i++)
{
if (nums[i] == 0)
{
znums++;
}
else
{
tmp = nums[i-znums];
nums[i-znums] = nums[i];
nums[i] = tmp;
}
}
}
};