标签:
这个题比较简单,只需要找到第一个是0的值的下标,那么以后所有的非零值的元素至少要向前移动一位,设置index就可以慢慢的赋值了,最后讲零的个数添加到最后即可
1 class Solution { 2 public: 3 void moveZeroes(vector<int>& nums) { 4 int num=0,index=0,i,flag=0; 5 for(i=0;i<nums.size();i++) { 6 if(nums[i]==0) { 7 num++; 8 if(!flag) 9 index=i; 10 flag=1; 11 } 12 if(nums[i]!=0&&flag==1) { 13 nums[index++]=nums[i]; 14 } 15 } 16 for(i=0;i<num;i++) 17 nums[index++]=0; 18 } 19 };
标签:
原文地址:http://www.cnblogs.com/thefirstfeeling/p/5691544.html