题目描述: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; }