[力扣 Hot100]Day4 移动零

题目描述

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

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

思路

类似于冒泡,把零向右移。

代码

cpp 复制代码
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        vector<int>::iterator zero = nums.end();
        vector<int>::iterator work = nums.begin();
        while (work != zero){
            if(*work == 0){
                auto t1 = work;
                auto t2 = work+1;
                while (t2!=zero&&t2!=nums.end())
                {
                    swap(*t1,*t2);
                    t1++;
                    t2++;
                }
                zero--;
            }
            else
                work++;
        }
    }
};
相关推荐
青山木几秒前
Hot 100 --- 最长有效括号
java·数据结构·算法·leetcode·动态规划
这料鬼有毒1 小时前
二刷hot100-1143.最长公共子序列
算法·leetcode·动态规划
政企项目老覃2 小时前
边缘 AI 推理部署:安防零售场景下的模型裁剪与端侧落地实践
人工智能·程序人生·算法·性能优化·vllm
I_belong_to_jesus2 小时前
std::unique_ptr成员函数用法
c++
Tairitsu_H3 小时前
[C++] 拷贝构造还是赋值重载?类默认成员函数细节详解
开发语言·c++·类和对象
GreenTea4 小时前
发布 3 天登顶 HN:不生成一个字的模型 Jev,我把它的源码和黑料都扒了一遍
前端·后端·算法
汉克老师4 小时前
GESP2026年9月认证C++四级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
geats人山人海4 小时前
现代c++第二章 字符串
c++
庖丁解牛4 小时前
无穷小不是一个“神秘小数”,而是一场奔向 0 的过程
算法
idealzouhu4 小时前
现代 CMake 依赖管理详解:从构建树、Target 封装到 find_package 工作原理
c++·cmake