小工具知识网

当前位置: 首页 > 行业知识 > LeetCode hot100-4

行业知识

LeetCode hot100-4

2026-11-11 18:21:43 来源:互联网转载
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。

���的解法可以通过,而且时间能打败99.98%的Java

()

思路就是找出有几个0。然后遍历数组,不是0的数就顺序往前放。再把最后几个位置全都赋值为0。

class Solution {    public void moveZeroes(int[] nums) {        int count = 0;        for (int i = 0; i  

官方解法

()

思路就是用两个指针,左指针保持指向第一个0,右指针往后寻找需要移动到0前面去的元素(如果前面没有0的话是自己和自己交换),找到了就交换,交换之后左右指针都应该往后移动一格。

class Solution {    public void moveZeroes(int[] nums) {        int n = nums.length, left = 0, right = 0;        while (right                                                 

上一篇:云服务器怎么架设网站管理?

下一篇:探索蛋白质家族的秘密,PFAM数据库深度解析