文章目录

  • 题目描述
  • 思路 & 代码
    • 更新版

题目描述

  • 原地操作 & 减少操作次数:不能直接只拷非零数,也不要每次都一个个推动整个数组

思路 & 代码

  • 维护一个noZeroNums,代表当前循环遇到的非0数的数量
  • 第一趟先不管0的数量,直接把非0数往左边最应该到的位置走。比如[0, 1, 0, 3, 12],会变成[1,3,12,3,12],也就是循环当前值,直接覆盖到noZeroNums的位置。
  • 第二趟,根据noZeroNums,把后面的位置全部换成0 [1, 3, 12, 0, 0]
class Solution {public void moveZeroes(int[] nums) {int noZero = 0;int point = 0;// 每次把当前值挪到最左边(队列顺序)for(;point < nums.length;point++){if(nums[point] != 0){nums[noZero] = nums[point];noZero++;}}// 把剩下的0的位置补上for(int i = noZero;i < nums.length;i++){nums[i] = 0;}}
}

更新版

class Solution {public void moveZeroes(int[] nums) {int index = 0;for(int num : nums) {if(num != 0) {nums[index++] = num;}}for(int i = index; i < nums.length; i++) {nums[i] = 0;}return;}
}

【LeetCode笔记】283. 移动零(Java)相关推荐

  1. leetcode系列-283.移动零

    题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 请注意 ,必须在不复制数组的情况下原地对数组进行操作. 示例 1: 输入: nums = [0 ...

  2. 【LeetCode每日一题】——283.移动零

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[题目提示] 八[题目进阶] 九[时间频度] 十[代码实现] 十一[提交结果] 一[题目类别 ...

  3. leetcode(283)移动零

    283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必 ...

  4. LeetCode笔记:原地修改数组

    LeetCode笔记:原地修改数组 自大学开始,我便陆陆续续的学习一些 算法和数据结构 方面的内容,同时也开始在一些平台刷题,也会参加一些大大小小的算法竞赛.但是平时刷题缺少目的性.系统性,最终导致算 ...

  5. leetcode热题HOT100汇总——java题解已完结撒花

    文章目录 前言 1. 两数之和 2. 两数相加 3.无重复字符的最长子串 4. 寻找两个正序数组的中位数 5. 最长回文子串 10. 正则表达式匹配 11. 盛最多水的容器 15. 三数之和 17. ...

  6. LeetCode—笔记—51、N皇后——递归回溯,个人思路,简单易懂

    LeetCode-笔记-51.N皇后--递归回溯,个人思路,简单易懂 51. N 皇后 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 ...

  7. Android开发笔记(一百零六)支付缴费SDK

    第三方支付 第三方支付指的是第三方平台与各银行签约,在买方与卖方之间实现中介担保,从而增强了支付交易的安全性.国内常用的支付平台主要是支付宝和微信支付,其中支付宝的市场份额为71.5%,微信支付的市场 ...

  8. JavaSE笔记 30天学Java打卡 Day06

    JavaSE笔记 30天学Java打卡 Day06 本笔记配套[零基础 快速学Java]韩顺平 零基础30天学会Java 视频一起食用 链接

  9. Java学习笔记(7)——Java基础之IO多线程网络思维导图

    Java面向对象学习笔记之:包括IO(字节流,字符流,节点流,处理流).线程(线程创建,线程控制,线程同步).网络(TCP Scoket,  UDP Scoket)(全屏观看Java学习笔记(7)-- ...

  10. 283. 移动零 golang

    283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必 ...

最新文章

  1. spring el表达式解析_Spring之旅第一篇-初识Spring
  2. ExpressionFuncT,TResult和FuncT,TResult
  3. boost::log::to_log_manip用法的测试程序
  4. 微信公众平台开发入门教程[2019版]
  5. 我的世界python俄罗斯方块手机版下载_欢乐俄罗斯方块
  6. 计算机组成部分有cpu吗,计算机组成原理笔记——处理器(1)[未完]
  7. vue.js高德地图实现热点图
  8. mouseover和mouseenter的区别
  9. 窗台上晒了一本书,三个人问了三个问题
  10. EasyNVR对接EasyCloud视频云平台进行云端录像
  11. qpython3h手机版怎么发短信_阿里云短信 python3代码发送短信
  12. Bluetooth LMP介绍
  13. idear右边的依赖视图没了_APP开发中出现提到的Idear是什么意思
  14. 贝叶斯 - 《贝叶斯统计》笔记
  15. 微信小程序——修改radio组件的大小
  16. 09 Softmax回归
  17. java中获取指定时间的时间戳
  18. GB28181国标2016版本协议文档(报送稿)解读(一)
  19. ROS中使用Intel RealSense D455或L515深度相机
  20. 微信小程序生命周期(onLoad,onHide,onShow,onReady,onUnload)

热门文章

  1. 计算机丢失shlwapi,请教高手提示shlwapi.dll错误应该怎么处理?
  2. fiddler如何设置过滤https_手把手教你如何给网站设置https
  3. 使用matlab播放特定频率的声音
  4. 计算机视觉三大顶级会议ICCV,CVPR,ECCV网址
  5. 边缘检测中非极大值抑制简单解释
  6. CompletableFuture详解~thenApplyAsync
  7. 数字货币交易所_数字货币交易所开发运营的盈利模式
  8. linux mongo 服务器,如何用MongoDB在Linux服务器上创建大量连接和线程的记忆
  9. leetcode No.123 买卖股票的最佳时机 III
  10. iOS中bundle的使用