博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode刷题283 移动零 Missing Number(简单) Python Java
阅读量:4129 次
发布时间:2019-05-25

本文共 936 字,大约阅读时间需要 3 分钟。

题目大意:

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

示例:

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

说明:

  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. 尽量减少操作次数。
class Solution(object):    def moveZeroes(self, nums):        """        :type nums: List[int]        :rtype: None Do not return anything, modify nums in-place instead.        """        a=len(nums)        while 0 in nums:            nums.remove(0)        for i in range(len(nums),a):            nums.append(0)

 

以下是Java版本:

题意: 

将数组nums中零元素全部移到数组尾部,而且非零元素的相对位置保存不变。 
例如:操作前nums = [0, 1, 0, 3, 12],操作后nums=[1, 3, 12, 0, 0] 
要求: 
原地操作数组nums,不能借助新数组来操作;最小化总的操作步骤。 
分析: 
简单点来说,就是先将数组nums中非零元素按相对位置取出,再依次从下标0开始重新赋值在nums中;最后再在数组nums的空余位置(显然空余位置应该均为零元素)补0即可。

1.  public class Solution {2.	    //先将nums中所有非零元素按相对顺序取出依次从零下标开始重新赋值3.	    //最后再在数组的空余位置补上零元素4.	    public void moveZeroes(int[] nums) {5.	        //保存nums数组长度6.	        int len=nums.length;7.	        //用于记录重新赋值后数组nums中下标位置8.	        int j=0;9.	        for(int i=0;i

 

转载地址:http://wvuvi.baihongyu.com/

你可能感兴趣的文章
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
关于无线PCB中 中50欧姆的特性阻抗的注意事项
查看>>
Spring的单例模式源码小窥
查看>>
后台服务的变慢排查思路(轻量级应用服务器中测试)
查看>>
MySQL中InnoDB事务的默认隔离级别测试
查看>>
微服务的注册与发现
查看>>
bash: service: command not found
查看>>
linux Crontab 使用 --定时任务
查看>>
shell编程----目录操作(文件夹)
查看>>
机器学习-----K近邻算法
查看>>
HBASE安装和简单测试
查看>>
关于程序员的59条搞笑但却真实无比的编程语录
查看>>