题意:
给定一个整型数组nums,要求将其中所有的0移动到末尾,并维护所有非0整数的相对位置不变。
思路:
扫一遍,两个指针维护0与非0的交界,将非0的数向前赋值就行了。
1 class Solution { 2 public: 3 void moveZeroes(vector<int>& nums) { 4 int idx=0; 5 for(int i=0; i<nums.size(); i++) 6 if(nums[i]!=0) 7 nums[idx++]=nums[i]; 8 while(idx<nums.size()) 9 nums[idx++]=0; 10 } 11 };
原文:http://www.cnblogs.com/xcw0754/p/4916801.html