力扣283. 移动零

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

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1: 输入: nums =0,1,0,3,12 输出:[1,3,12,0,0]

示例 2: 输入: nums =0 输出:[0]

cpp 复制代码
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int i=0;//指针i表示坑位,指针j表示枚举元素
        for(int j=0;j<nums.size();j++){
            //当前元素不为0则可以放进坑位
            if(nums[j]){nums[i++]=nums[j];}
        }
        //将后面的元素都置0
        for(;i<nums.size();i++){nums[i]=0;}
    }
};
相关推荐
Bmob后端云23 分钟前
Bmob后端云实战|Python给备忘录接入AI摘要、文本润色功能
算法·github
小鱼干..34 分钟前
CTFHub技能树-ssrf-URL Bypass
算法
chushiyunen1 小时前
动态规划、贪心算法、分治法
算法·贪心算法·动态规划
hansang_IR1 小时前
【题解】P4456 [CQOI2018] 交错序列(数学递推)
c++·算法
青少儿编程课堂1 小时前
贪心算法进阶:区间调度与最少资源整合解析
c++·python·算法·贪心·信息学竞赛·区间调度
青山木1 小时前
Hot 100 --- 划分字母区间
java·数据结构·算法·leetcode·贪心算法
Sunsets_Red2 小时前
浅谈扫描线
c++·算法·编程·题解·洛谷·扫描线·信息学竞赛
a187927218312 小时前
【算法】双指针与滑动窗口(一):框架总纲——三类问题、一个原理与判决书
算法·leetcode·区间·双指针·滑动窗口·原理·算法讲解
shehuiyuelaiyuehao2 小时前
算法42,模拟算法,模拟z字形变换
算法
朝朝辞暮i2 小时前
C++第一课
开发语言·c++·算法