283 零移动 leetcode

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

示例:数组

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
说明:svg

必须在原数组上操做,不能拷贝额外的数组。
尽可能减小操做次数。函数

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

本文分享 CSDN - 希境。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。.net