Leetcode 283. Move Zeroes
来源:互联网 发布:金海岸大酒店网络地图 编辑:程序博客网 时间:2024/05/01 14:36
Given an array nums
, write a function to move all 0
's to the end of it while maintaining the relative order of the non-zero elements.
For example, given nums = [0, 1, 0, 3, 12]
, after calling your function, nums
should be [1, 3, 12, 0, 0]
.
我的代码:
思路:指针now,如果不为0,now向后移一位,如果为0,则后面的数字依次向前移。记录有几个0,再把数组最后几位置0
public class Solution { public void moveZeroes(int[] nums) { int znum=0; //number of zeros int now=0; //pointer for(int i = 0; i < nums.length; i++){ if(nums[now] != 0){ now++; } else{ znum++; for(int j = now; j < nums.length - znum; j++){ nums[j] = nums[j+1]; } } } for(int k = nums.length-znum; k < nums.length; k++){ nums[k] = 0; } }}
看懂的比较简单的方法:
public void moveZeroes(int[] nums) { int j = 0; for(int i = 0; i < nums.length; i++) { if(nums[i] != 0) { int temp = nums[j]; nums[j] = nums[i]; nums[i] = temp; j++; } }}
思路:i 和 j为两个指针,i 负责将整个数组过一遍,j 除了第一次,都指向0,其实找个例子跑一遍啥都明白了。
0 0
- 【LeetCode】283. Move Zeroes
- Leetcode 283. Move Zeroes
- LeetCode #283. Move Zeroes
- 283. Move Zeroes LeetCode
- LeetCode 283. Move Zeroes
- LeetCode 283. Move Zeroes
- LeetCode 283. Move Zeroes
- 【LeetCode】283. Move Zeroes
- leetcode 283. Move Zeroes
- leetcode 283. Move Zeroes
- LeetCode 283. Move Zeroes
- leetcode 283. Move Zeroes
- #leetcode#283. Move Zeroes
- LeetCode *** 283. Move Zeroes
- LeetCode 283. Move Zeroes
- LeetCode-283.Move Zeroes
- Leetcode 283. Move Zeroes
- leetcode 283. Move Zeroes
- [置顶] 能够提高开发效率的Eclipse实用操作
- 练习 2.14 2.7 2.8 ~ 2.16 未完...
- 随机存储流笔记
- ibatis中常用的代码片段总结
- 什么是PXE及PXE启动
- Leetcode 283. Move Zeroes
- eclipse启动tomcat 访问http://localhost:8080 报404错误
- Java集合类框架—Set、HashSet、TreeSet
- Date、Calendar类
- 多干一点, 多向前一步
- QT5提示can not find -lGL的解决方法
- 【Linux C/C++】 第05讲 父子进程
- 学生信息管理系统总结(一)
- 01 像学任何编程语言一样,先从hello world开始