[力扣 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++;
        }
    }
};
相关推荐
垆边人似月.5 小时前
删边使每个连通块权值和为 target
算法·深度优先·图论
xxwl5855 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
xxwl5856 小时前
第六章---计算几何
笔记·学习·算法
Logic1017 小时前
C语言/数据结构二维数组题解:找出行列O个数均为偶数的格子——奇偶性预处理+二次遍历
c语言·数据结构·算法·二维数组·时间复杂度·动态内存分配·奇偶性
程序猿阿森7 小时前
【机器学习实战】朴素贝叶斯算法详解:从概率基础到商品评论情感分析
算法·机器学习·概率论
余额瞒着我当琳7 小时前
哈希表底层原理解析,直接定址法,哈希冲突,负载因子,哈希函数,开放定址法
java·c++·哈希算法·散列表
xxwl5857 小时前
区域赛算法模版第五章---数学与数论
c++·笔记·算法
看浪的路人8 小时前
第6讲:Agent 安全体系——Prompt 注入防御、工具调用审计与输出合规
人工智能·算法
局部有解8 小时前
LeetCode Hot100 438 找到字符串中所有字母异位词
c++·算法·leetcode
垆边人似月.8 小时前
移动长度 k 子串使字符串变成回文
数据结构·算法