[力扣 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++;
        }
    }
};
相关推荐
陈天伟教授10 分钟前
人工智能应用- 材料微观:04.微观结构:金属疲劳
人工智能·神经网络·算法·机器学习·推荐算法
样例过了就是过了11 分钟前
LeetCode热题100 螺旋矩阵
算法·leetcode·矩阵
敲代码的哈吉蜂14 分钟前
haproxy的算法——动态算法
算法
追随者永远是胜利者15 分钟前
(LeetCode-Hot100)226. 翻转二叉树
java·算法·leetcode·职场和发展·go
yyjtx16 分钟前
DHU上机打卡D27
c++·算法·图论
白太岁26 分钟前
C++:(5) 单例模式与支持初始化失败的单例模式
c++·单例模式
漂流瓶jz29 分钟前
UVA-12569 树上的机器人规划(简单版) 题解答案代码 算法竞赛入门经典第二版
算法·图论·dfs·bfs·uva·算法竞赛入门经典第二版·11214
hwtwhy34 分钟前
【情人节特辑】C 语言实现浪漫心形粒子动画(EasyX 图形库)
c语言·开发语言·c++·学习·算法
云淡风轻~窗明几净36 分钟前
割圆术求Pi值的重新验证
数据结构·算法
日月云棠37 分钟前
UE5 打包后 EXE 程序单实例的两种实现方法
前端·c++