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++;
			}
		}
	}
}
相关推荐
lierenvip8 小时前
SQL 建表语句详解
java·数据库·sql
kuntli8 小时前
Spring Bean生命周期全解析
java
ok_hahaha8 小时前
java从头开始-苍穹外卖-day06-微信小程序开发-微信登录和商品浏览
java·微信·微信小程序·小程序
Java面试题总结8 小时前
Spring @Validated失效?原因、排查与高效解决方案全解析
java·spring boot·spring
剑锋所指,所向披靡!9 小时前
MySQL数据的增删改查
java·数据库·mysql
Villiam_AY9 小时前
一次 DNS 端口引发的代理网络和公司内网冲突问题
java·服务器·数据库
dgvri9 小时前
比较Spring AOP和AspectJ
java
eggwyw9 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
m0_6727033110 小时前
上机练习第49天
数据结构·算法
样例过了就是过了10 小时前
LeetCode热题100 N 皇后
数据结构·c++·算法·leetcode·dfs·深度优先遍历