給定一個數組?nums
,編寫一個函數將所有?0
?移動到數組的末尾,同時保持非零元素的相對順序。
請注意?,必須在不復制數組的情況下原地對數組進行操作。
思路講解:
舉例如下:
實現代碼是:
class Solution {
public:void moveZeroes(vector<int>& nums) {for(int i=0,cur=-1;i<nums.size();i++){if(nums[i])//非零元素{swap(nums[cur+1],nums[i]);cur++;}}}
};