[力扣 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++;
        }
    }
};
相关推荐
郝学胜-神的一滴7 小时前
Qt 高级开发 009: C++ Lambda 表达式
开发语言·c++·qt·软件构建
石山代码8 小时前
C++ 轻量级日志系统
开发语言·c++
smj2302_7968265210 小时前
解决leetcode第3943题递增后的数对数量
数据结构·python·算法·leetcode
炽烈小老头10 小时前
【每天学习一点算法 2026/05/25】矩阵中的最长递增路径
学习·算法·矩阵
王老师青少年编程10 小时前
2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++初中组初赛真题3:文末附答案和解析)
c++·真题·答案·初赛·2026年·青少年信息素养大赛·初中组
轻颂呀11 小时前
C++11——并发库介绍
开发语言·c++
叁散11 小时前
实验报告:5G 仿真环境与基本链路模拟
算法
从负无穷开始的三次元代码生活12 小时前
算法零碎灵感点分享
算法
梓䈑12 小时前
【算法题攻略】快速排序 和 归并排序
数据结构·c++·排序算法
染指111012 小时前
9.LangChain框架(实现RAG)
数据库·人工智能·算法·机器学习·ai·大模型