赞
踩
先将所有非零元素移至左边,后进行补零。
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int slow = 0, fast = 0;
for (int fast = 0; fast < nums.size(); fast++) {
if (nums[fast] != 0) {
nums[slow] = nums[fast];
slow++;
}
}
for (int i = slow; i < nums.size(); i++)
nums[i] = 0;
}
};
时间复杂度:O(n)
空间复杂度:O(1)。
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int slow = 0, fast = 0;
for (int fast = 0; fast < nums.size(); fast++) {
if (nums[fast] != 0) {
swap(nums[slow], nums[fast]);
slow++;
}
}
}
};
时间复杂度:O(n)
空间复杂度:O(1)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。