美文网首页
283. Move Zeroes

283. Move Zeroes

作者: YellowLayne | 来源:发表于2017-10-30 17:24 被阅读0次

    1.描述

    Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

    For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

    Note:
    You must do this in-place without making a copy of the array.
    Minimize the total number of operations.

    2.分析

    3.代码

    class Solution {
    public:
        void moveZeroes(vector<int>& nums) {
            int pos = 0, cur = 0, n = nums.size() - 1;
            while (cur <= n) {
                nums[cur] == 0 ? cur++ : (nums[pos++] = nums[cur++]);
            }
            
            while (pos <= n) nums[pos++] = 0;
        }
    };
    

    相关文章

      网友评论

          本文标题:283. Move Zeroes

          本文链接:https://www.haomeiwen.com/subject/bhkmpxtx.html