[力扣 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++;
        }
    }
};
相关推荐
傲世仙尊13 分钟前
string增删查改-insert-erase-replace与find加substr组合技
c++
java_nnnn17 分钟前
LeetCode刷题滑动窗口(水果成篮+找到字符串中所有字母的异位词)Java
java·开发语言·leetcode
小羊没烦恼!26 分钟前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#
wanderist.33 分钟前
202609CSP认证P3
算法
云淡风轻~窗明几净1 小时前
角谷猜想最接近严格证明的测试 Version1.1.1
人工智能·算法·机器学习·图论
机器学习之心1 小时前
PINN × SVM × NSGA-II × 熵权TOPSIS:一套跑通「建模—优化—决策」的多目标优化框架
算法·机器学习·支持向量机
·present·2 小时前
CSAPP(lecture 3)
c++
别动我齐刘海2 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
basketball6162 小时前
C++ 中字符串与常见类型的转换总结
开发语言·c++
文丑颜不良啊3 小时前
LeetCode276~300题目解析
java·leetcode