本文主要是介绍《leetcode》:Move Zeroes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
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].
Note:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
思路
此题比较简单,借用额外的一个指针将数组中的非零的元素移动即可。
实现代码如下:
public void moveZeroes(int[] nums) {int len = nums.length;int begin = 0;for(int i=0;i<len;i++){if(nums[i]!=0){nums[begin]=nums[i];begin++;}}for(;begin<len;begin++){nums[begin]=0;}}
这篇关于《leetcode》:Move Zeroes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!