力扣283题:移动零

news/2024/11/7 16:44:06/

力扣283题:移动零

题目描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

输入输出样例

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
输入: nums = [0]
输出: [0]

解法一,双指针第一版

class Solution {
public:void moveZeroes(vector<int>&nums){//当数组为空,或者长度为1的时候返回原数组即可if(nums.empty()||nums.size()==1){return;}//建立双指针int left=0;int right=1;int length=nums.size();while(right<length){//当左边为零,查找右边第一个不为0的值并进行交换while(nums[left]==0&&right<length){if(nums[right]!=0){int temp=nums[right];nums[right]=nums[left];nums[left]=temp;}else {right++;}}left++;right++;}}
};

解法二,双指针简化版

void moveZeroes2(vector<int>&nums){int length=nums.size();int left=0,right=0;while(right<length){//left 指向已经处理好数据的尾部//right 指向将要处理的头部//一开始是跟本身进行交换,但不影响结果if(nums[right]){int temp=nums[right];nums[right]=nums[left];nums[left]=temp;left++;}right++;}}

http://www.ppmy.cn/news/547934.html

相关文章

【LeetCode】283. 移动零(js 实现)

1、题目&#xff1a;283. 移动零 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 2、实现 &#xff08;1&#xff09;方法一&#xff1a; 第一次遍历数组&#xff0c;将非零元素移动到数组的左侧&#xff0c;并使用一个指针j记录非零元素的位置&#xff1b;第二…

lm283_飞利浦Tango LED泛光灯BVP283-普照网

飞利浦超值经济型LED泛光照明解决方案 Tango G2 LED Extension BVP282:16000lm/20000lm BVP283:21000lm/24500lm/28000lm/31500lm/33500lm 节能高效 杰出效益 一、极高能效:高达每瓦100流明的超高效率可为业主带来明显的节能省电效益 二、迅速回本:与传统Tango MMF383相比&…

Verilog HDL的简单应用之74ls283功能的实现

我的错&#xff0c;人神共愤&#xff0c;天理难容…… 简报 众所周知&#xff0c;74ls283是和74ls151还有74ls138一样应用广泛的电子元器件&#xff0c;其本体共有144411116根引脚&#xff0c;鉴于电源和接地引脚仍旧“没有用处”&#xff0c;我们再次对其进行忽略。下面笔者…

imx8烧写Linux系统,EASYARM-IMX283 烧写uboot和linux系统

新入手一台EASYARM-IMX283开发板(以下简称IMX823)&#xff0c;价格比较便宜&#xff0c;配置也不错。 开发板默认安装了WINCE&#xff0c;我还是决定重新烧写uboot和linux内核。 开发板配套光盘里面有不少烧写工具&#xff0c;其中大部分都是windows平台下的工具&#xff0c;所…

EasyARM-i.MX283A 开发环境配置笔记

EasyARM-i.MX283A 开发环境配置笔记 准备开发环境所需的文件&#xff1a; 已上传网盘&#xff0c;自行下载 链接&#xff1a;https://pan.baidu.com/s/1C3SB3UR5Yfn8huMj5kP7GA 提取码&#xff1a;gy1y 一、创建虚拟机 使用&#xff1a;ubuntu-12.04-desktop-i386.iso 链接…

lm283_HMC283LM1_10

HMC283LM1 v04.1201 Typical Applications The HMC283LM1 is ideal for: • Millimeterwave Point-to-Point Radios • LMDS • SATCOM 11 LINEAR & POWER AMPLIFIERS - SMT Functional Diagram D E U IN T N O T C C S U I D D O R P Features SMT mmWave Package Psat Ou…

Verilog——串行四位加法器和超前四位加法器74HC283

Verilog——串行四位加法器和超前四位加法器74HC283 一. 串行四位加法器设计思路1. 一位全加器1.1原理1.2代码实现1.2.1设计模块1.2.2测试模块 1.3 仿真结果 2.用四个一位全加器串行成四位加法器2.1原理2.2代码2.2.1设计模块2.2.2测试模块 2.3仿真结果 二.超前四位加法器74HC28…

LeetCode:283. 移动零

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums [0] 输出: …