539移动零
来源:互联网 发布:ubuntu 访问网络命令 编辑:程序博客网 时间:2024/05/21 21:35
给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序
思路:
1.两个索引,一个0,一个非零,零跟非零互换(互换函数swap(a,b))
2.零索引在非零索引之前
法1:
public class Solution { /** * @param nums an integer array * @return nothing, do this in-place */ public void moveZeroes(int[] nums) { // Write your code here int j=0; for(int i=0;i<nums.length;i++){ if(nums[i]==0){ int k=i+1; while(k<nums.length){ if(nums[k]==0) { k++; } else { j=nums[k]; nums[i]=j; nums[k]=0; k++; break; } } } } }}
法2:非零向前移动——更快
public class Solution { /** * @param nums an integer array * @return nothing, do this in-place */ public void moveZeroes(int[] nums) { // Write your code here int one = 0; int fast = 0; int n = nums.length; int x = 0; for(int i=0;i<n;i++){ if(nums[i]!=x) { // 不为0 的向前移动 nums[one] = nums[i]; one++; } } for(int i= one;i<n;i++) // 后面的就是0 nums[i] = x; }}
0 0
- 539移动零
- LintCode 539 移动零
- [LintCode 539] 移动零(Python)
- 移动零
- 移动零
- 移动零
- 移动零
- 移动零
- 移动零
- 移动零
- 移动零
- 移动零
- 移动零 Move Zeroes
- 移动零-lintCode
- LintCode:移动零
- LintCode539:移动的零
- LintCode - 539.移动零
- Java实现-移动零
- easyui点击添加行,动态增删改查
- IT人物之《Netty权威指南》中文作者 专访华为李林锋:我与Netty那些不得不说的事
- 第13周OJ练习-1 学生分数处理
- 什么是服务器池化
- 润乾报表发布参数报表和查询报表方式
- 539移动零
- WPS for Linux打印失去响应问题
- MySql5.5的卸载
- C++
- 389. Find the Difference
- maven 不同环境加载不同spring配置文件
- Java中length,length()以及size()的区别
- printf的标准格式化输出
- jquery选择器