leetcode283 移动零(Easy)

题目来源:leetcode283 移动零

题目描述:

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:
必须在原数组上操作,不能拷贝额外的数组。
尽量减少操作次数。

解题思路:

见代码

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int i=0,low=0;
        for(i=0;i<nums.size();i++)
        {
            if(nums[i]!=0) nums[low++]=nums[i];//low下标开始把非0放到前面
        }
        //low下标之后都是0
        for(i=low;i<nums.size();i++)
            nums[i]=0;
        
    }
};
posted @ 2020-07-02 14:28  拉里拉里啦啦  阅读(87)  评论(0编辑  收藏  举报