LeetCode 283 Move Zeroes

来源:互联网 发布:网络高清解码器 编辑:程序博客网 时间:2024/06/02 05:52

题意为:给一个数组,将所有的0移到末尾。

要求:

  • 不得复制数组
  • 最小化操作次数
自己做,只有一个思路,设置一个额外变量统计当前不为0的数的个数,每当枚举到一位不为零的数,则将这个数复制到以定义的临时变量为下标的数上去。

一遍之后,把剩余的数更新为0。

题目链接

代码如下:

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


原创粉丝点击