題目描述:ios
給定一個數組 nums
,編寫一個函數將全部 0
移動到數組的末尾,同時保持非零元素的相對順序。數組
示例:
輸入:[0,1,0,3,12]函數
輸出:[1,3,12,0,0]spa
說明:指針
解題思路:code
#include<iostream> #include<vector> using namespace std; class Solution{ public: void moveZeroes(vector<int>& nums){ int temp = 0; for(int i=0, j=0;i<nums.size();++i){ if(nums[i] != 0){ temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; j++; } } } }; int main(){ Solution solution; vector<int> vec; int i=0; do{ cin>>i; vec.push_back(i); }while(getchar() != '\n'); solution.moveZeroes(vec); for(int i=0;i<vec.size();++i){ cout<<vec[i]<<" "; } cout<<endl; return 0; }