【力扣】283.移动零

devtools/2025/2/4 2:14:15/

AC截图

题目

思路

遍历nums数组,将0删除并计数,最后在nums数组尾部添加足量的零

有一个问题是,vector数组一旦erase某个元素,会导致迭代器失效。好在有解决办法,erase会返回下一个有效元素的新迭代器。

代码

class Solution {
public:void moveZeroes(vector<int>& nums) {int cnt=0;for(auto it = nums.begin();it!=nums.end();){if(*it == 0){cnt++;it = nums.erase(it);}else{it++;}}while(cnt>0){nums.push_back(0);cnt--;}}
};


http://www.ppmy.cn/devtools/155877.html

相关文章

go单元测试和基准测试

1、单元测试和基准测试 单元测试和基准测试代码开发中的重要环节&#xff0c;良好的单元测试和基准测试&#xff0c;能提升开发质量&#xff0c;对整体开发有非常重要的重要&#xff0c;下面介绍单元测试和基准测试的写法。 2、单元测试和基准测试写法 以排序基本排序算法&a…

数据结构 树2

文章目录 前言 一&#xff0c;二叉搜索树的高度 二&#xff0c;广度优先VS深度优先 三&#xff0c;广度优先的代码实现 四&#xff0c;深度优先代码实现 五&#xff0c;判断是否为二叉搜索树 六&#xff0c;删除一个节点 七&#xff0c;二叉收索树的中序后续节点 总结 …

C++模板编程——可变参函数模板之折叠表达式

目录 1. 什么是折叠表达式 2. 一元左折 3. 一元右折 4. 二元左折 5. 二元右折 6. 后记 上一节主要讲解了可变参函数模板和参数包展开&#xff0c;这一节主要讲一下折叠表达式。 1. 什么是折叠表达式 折叠表达式是C17中引入的概念&#xff0c;引入折叠表达式的目的是为了…

dotnet LINQ 使用简明教程

简介 语言集成查询&#xff08;LINQ&#xff09;是一组强大的技术&#xff0c;它将查询功能直接集成到 c# 语言中。LINQ 查询是 c#.net 中的一等语言结构&#xff0c;就像类、方法、事件一样。LINQ 为查询对象&#xff08; LINQ to objects &#xff09;、关系数据库&#xff…

PVE 中 Debian 虚拟机崩溃后,硬盘数据怎么恢复

问题 在 PVE 中给 Debian 虚拟机新分配硬盘后&#xff0c;通过 Debian 虚拟机开启 Samba 共享该硬盘。如果这个 Debian 虚拟机崩溃后&#xff0c;怎么恢复 Samba 共享硬盘数据。 方法 开启 Samba 共享相关知识&#xff1a;挂载硬盘和开启Samba共享。 新建一个虚拟机&#xf…

【go语言】接口

一、什么是鸭子类型 鸭子类型&#xff08;Duck Typing&#xff09;是一种动态类型系统的概念&#xff0c;源自于一句名言&#xff1a;“如果它走起来像鸭子、叫起来像鸭子&#xff0c;那它就是鸭子。” 这意味着&#xff0c;在鸭子类型的编程语言中&#xff0c;类型不是通过显式…

Microsoft Visual Studio 2022 主题修改(补充)

Microsoft Visual Studio 2022 透明背景修改这方面已经有很多佬介绍过了&#xff0c;今天闲来无事就补充几点细节。 具体的修改可以参考&#xff1a;Microsoft Visual Studio 2022 透明背景修改&#xff08;快捷方法&#xff09;_material studio怎么把背景弄成透明-CSDN博客文…

复制粘贴小工具——Ditto

在日常工作中&#xff0c;复制粘贴是常见的操作&#xff0c;但Windows系统自带的剪贴板功能较为有限&#xff0c;只能保存最近一次的复制记录&#xff0c;这对于需要频繁复制粘贴的用户来说不太方便。今天&#xff0c;我们介绍一款开源、免费且功能强大的剪贴板增强工具——Dit…