LeetCode初级-12-移动0

Posted 咖啡壶子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode初级-12-移动0相关的知识,希望对你有一定的参考价值。

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

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

说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。

package day20210815;

public class 移动0 {
	
public static void main(String[]args) {
	int []nums1= {0,1,0,3,12};
	moveZeroes(nums1);
	for(int num:nums1) {
		System.out.println(num);
	}
}
public static void moveZeroes(int []nums1) {
	int left=0,right=0;
	while(right<nums1.length) {
		if(nums1[right]!=0) {
			swap(nums1,left,right);
			left++;
		}
		right++;
	}
}
public static void swap(int []nums1,int left,int right) {
	int temp=0;
	temp=nums1[right];
	nums1[right]=nums1[left];
	nums1[left]=temp;
}
}

以上是关于LeetCode初级-12-移动0的主要内容,如果未能解决你的问题,请参考以下文章

数据结构和算法LeetCode,初级算法-8移动零

LeetCode 283. 移动零c++/java详细题解

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

数据结构和算法LeetCode,初级算法-12反转字符串

数据结构和算法LeetCode,初级算法-12反转字符串

数据结构和算法LeetCode,初级算法-12反转字符串