leetcode 283. Move zeros

//original
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int j=0;
        int temp=0;
        for(int i=0;i<nums.size();i++)
            if(nums[i]!=0){
                temp=nums[i];
                nums[i]=nums[j];
                nums[j]=temp;
                j++;
            }
    }
};
//concise
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        for(int i=0, j=0; i<nums.size(); i++){
            if(nums[i])
                swap(nums[i], nums[j++]); //j: current index of first non-zero
        }
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章