leetcode283移动零

刚开始练习双指针,这题有点卡壳了。一道快慢指针题目,一个指针遍历数组,另一个指向0,当两个指针不相同时且快指针指向了非零,交换保证有序性。

代码

class Solution {
public:
   void moveZeroes(vector<int>& nums) {
    int k=0;
       for(int i=0;i<nums.size();i++)
       {
            if(nums[i]){
                if(i!=k)
                {swap(nums[i],nums[k]);
                k++;}
                else k++;
            }
           
       }
   }
};

 

posted on 2019-02-20 13:26  BigguesD  阅读(82)  评论(0编辑  收藏  举报

导航