leetcode283-Move Zeroes

这道题目要求把所有的0元素都放到数组末尾,并且不能改变数组其它元素的相对数序,类似这种题目思维一定要往快慢指针上靠,快指针从头到尾遍历,快指针永远去找非0元素,慢指针则从头开始遍历,找到以后交换俩个元素的位置,然后俩个指针分别往前走一步。注意这里如果慢指针的策略是永远去找0元素的话,那么就会涉及到一些和快指针的比较,只有在慢指针比快指针小的时候所指向的元素才可以交换,cpu时间会更高一点

java 复制代码
public class moveZeroes {
	public static void main(String[] args) {
		int[] arr = {0,1,0,3,12};
		moveZero(arr);
		for(int i = 0;i<arr.length;i++) {
			System.out.println(arr[i]);
		}
	}
	public static void moveZero(int[] arr) {
		for(int i = 0,j=0;i<arr.length;i++) {
			if(arr[i] != 0) {
				int tmp = arr[i];
				arr[i] = arr[j];
				arr[j] = tmp;
				j++;
			}
		}
	}
}
相关推荐
Swizard7 分钟前
极限瘦身:将 Python AI 应用从 100MB 砍到 30MB
java·python·ai·移动开发
亮子AI9 分钟前
【Tiptap】如何使用 ordered list?
数据结构·list·tiptap
南莺莺11 分钟前
二叉排序树的创建和基本操作---C++实现
数据结构·c++·算法··二叉排序树
仰泳的熊猫15 分钟前
1061 Dating
数据结构·c++·算法·pat考试
Fcy64815 分钟前
二叉搜索树(C++实现)
开发语言·数据结构·c++·二叉搜索树
zhouyunjian18 分钟前
11、一文详解CompletableFuture:来源、定义、方法、与场景使用分析
java·网络·spring boot
Kin__Zhang18 分钟前
随手记录 UE4/CARLA 仿真器 segmentation fault
android·java·ue4
CoderYanger19 分钟前
A.每日一题——1523. 在区间范围内统计奇数数目
java·数据结构·算法·leetcode·职场和发展
期待のcode19 分钟前
MyBatis-Plus通用Service
java·后端·mybatis·springboot