[力扣 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++;
        }
    }
};
相关推荐
HaiLang_IT9 小时前
基于图像处理与深度学习的油橄榄品种和成熟度检测算法研究
图像处理·深度学习·算法
YuTaoShao9 小时前
【LeetCode 每日一题】3510. 移除最小数对使数组有序 II
linux·算法·leetcode
青山是哪个青山9 小时前
C++ 核心基础与面向对象 (OOP)
开发语言·c++
小明同学0110 小时前
[C++进阶]深入理解二叉搜索树
开发语言·c++·git·visualstudio
点云SLAM10 小时前
C++std::enable_if_t 与 std::is_same_v使用
c++·模板元编程·c++ 类型萃取·enable_if_t·is_same_v
C+++Python10 小时前
C++ vector
开发语言·c++·算法
2401_8414956410 小时前
【LeetCode刷题】K 个一组翻转链表
数据结构·python·算法·leetcode·链表·翻转链表·迭代翻转
橘子师兄10 小时前
C++AI大模型接入SDK—deepseek接入封装
c++·人工智能·chatgpt
Shea的笔记本10 小时前
MindSpore实战笔记:Pix2Pix图像转换复现全记录
笔记·算法·机器学习·web3
清酒难咽10 小时前
算法案例之蛮力法
c++·经验分享·算法