移动零
队列法
class Solution { public: void moveZeroes(vector<int>& nums) { queue<int> myqueue; for(int i=0 ; i<nums.size() ;i++) if(nums[i] != 0) myqueue.push(nums[i]); for(int i=0 ; i<nums.size() ;i++) { if(myqueue.size()!=0) { nums[i] = myqueue.front(); myqueue.pop(); }else nums[i] = 0; } } };
双指针
class Solution { public: void moveZeroes(vector<int>& nums) { int left =0; for(int right = 0 ; right < nums.size() ;right++) { if(nums[right] != 0) { nums[left] = nums[right]; left++; } } for(int i=left ; i<nums.size() ;i++) nums[i] = 0; } };