热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LeetCode之移动零

题目:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序示例:说明:必须

题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
示例:
在这里插入图片描述说明:

  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. 尽量减少操作次数
    方法一:两次遍历

class Solution {public void moveZeroes(int[] nums) {int count&#61;0, n &#61; nums.length,i&#61;0;while (i < n) {if(nums[i]&#61;&#61;0) {count&#43;&#43;;i&#43;&#43;;}elsenums[i-count]&#61;nums[i&#43;&#43;];}for(int j&#61;0;j<count;j&#43;&#43;)nums[n-count&#43;j]&#61;0;}
}

方法二&#xff1a;一次遍历

class Solution {public void moveZeroes(int[] nums) {if(nums&#61;&#61;null) {return;}//两个指针i和jint j &#61; 0;for(int i&#61;0;i<nums.length;i&#43;&#43;) {//当前元素!&#61;0&#xff0c;就把其交换到左边&#xff0c;等于0的交换到右边if(nums[i]!&#61;0) {int tmp &#61; nums[i];nums[i] &#61; nums[j];nums[j&#43;&#43;] &#61; tmp;}}}
}


推荐阅读
author-avatar
JJJppp123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有