程序员社区

移动零

在这里插入图片描述
法1:

class Solution {
public:
    void moveZeroes(vector<int>& nums) 
    {
        int begin = 0;
        for (int end = 0; end < nums.size(); end++)
        {
            if (nums[end] != 0)
            {
                nums[begin] = nums[end];
                begin++;
            }
        }
        for (; begin < nums.size(); begin++)
            nums[begin] = 0;
    }
};

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
法2:官方解法
其实就是上文法1的做法
在这里插入图片描述

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int n = nums.size(), left = 0, right = 0;
        while (right < n) {
            if (nums[right]) {
                swap(nums[left], nums[right]);
                left++;
            }
            right++;
        }
    }
};

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 移动零

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区