- 描述:Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.
For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].
- 分析:将数组中的0移到尾部并保持其他元素的顺序。
- 思路一:遇到非0元素就交换位置。
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int next = 0;
for (int i = 0; i < nums.size(); i++) {
if (nums[i] != 0) swap(nums[i], nums[next++]);
}
}
};