6.Move Zeroes
2015-10-14 10:47
423 查看
leetcode中的原题目如下:
Given an array
to the end of it while maintaining the relative order of the non-zero elements.
For example, given
be
Note:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
分析:题目的意思就是给定一个数组,要求是把所有为0的数字放到数组的最后,并且要求非0数字的相对位置不发生变化。
方法一:用first0永远保持的是数组中目前第一个0元素的下标,然后从这个下标之后遍历数组,遇到非0的元素则和0进行交换即可。
方法二:保证nums[0..pos]中保存的是按照相对位置存储的非0元素。最后pos后的元素都设为0
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,
numsshould
be
[1, 3, 12, 0, 0].
Note:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
分析:题目的意思就是给定一个数组,要求是把所有为0的数字放到数组的最后,并且要求非0数字的相对位置不发生变化。
方法一:用first0永远保持的是数组中目前第一个0元素的下标,然后从这个下标之后遍历数组,遇到非0的元素则和0进行交换即可。
public void moveZeroes(int[] nums) { int first0 = -1; int length = nums.length; int temp; for(int i=0;i<length;i++){ if(nums[i]==0 ){ first0 = i;//找到记录的是第一个0的位置 break; } } if(first0 == -1 || first0 == length-1){ return; }else{ for(int i=first0;i<length;i++){ if(nums[i]!=0 && first0!=i){ temp = nums[i]; nums[i] = nums[first0]; nums[first0] = temp; first0++; /* nums[first0] = nums[i]; nums[i]=0;*/ } } } }
方法二:保证nums[0..pos]中保存的是按照相对位置存储的非0元素。最后pos后的元素都设为0
public void moveZeroes2(int[] nums) { int pos=-1; int length = nums.length; for(int i=0;i<length;i++){ if(nums[i]!=0){ pos++; nums[pos]=nums[i]; } } for(pos=pos+1;pos<length;pos++){ nums[pos]=0; } }
相关文章推荐
- 日志文件目录
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数009,Measure,测量函数
- Android自定义Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- PHPExcel库的使用
- Android实战简易教程-第六十五枪(自定义控件实现数字液晶时钟Demo)
- LAMP架构搭建与优化
- MySQL数据类型和常用字段属性总结
- 阅读INI档 - Delphi一片
- 达到J2EE在后台action控制接待javascript弹出的对话框
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数008,matrix,矩阵函数
- POJ Farm Tour
- 结构数组
- C#的异常处理
- java查找读取文件url的拼接
- 图片懒加载
- linux的那些坑爹事
- Vuforia Unity Camera Image Access
- LogUtil
- Java基础知识学习(一)
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数007, match,图像匹配