题目描述:(. - 力扣(LeetCode))
思路:非零的就是符合要求的元素,根据前面的思想,二分查找,low指针最后就是非零元素的长度,最后再for循环补零就行。
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int low = 0;
int len = nums.size();
for (int fast = 0; fast < len; fast++) {
if( nums[fast] == 0) continue;
else {
nums[low++] = nums[fast];
}
}
for( int i = low; i < len; i++) {
nums[i] = 0;
}
}
};