移动零00

题目链接

移动零

题目描述

注意点

  • 将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
  • 必须在不复制数组的情况下原地对数组进行操作

解答思路

  • 采用双指针的思路,左指针指向已移动零的数组的尾部,右指针指向为移动零的数组的头部,当右指针指向了一个非零元素,则需要将左右指针对应的元素进行交换,将0移动到后方

代码

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        int leftZero = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != 0) {
                swap(nums, leftZero, i);
                leftZero++;
            }
        }
    }

    public void swap(int[] nums, int left, int right) {
        int tmp = nums[left];
        nums[left] = nums[right];
        nums[right] = tmp;
    }
}

关键点

  • 双指针的思想
相关推荐
山河君3 分钟前
webrtc之高通滤波——HighPassFilter源码及原理分析
算法·音视频·webrtc·信号处理
勇往直前plus4 分钟前
Sentinel微服务保护
java·spring boot·微服务·sentinel
星辰大海的精灵4 分钟前
SpringBoot与Quartz整合,实现订单自动取消功能
java·后端·算法
小鸡脚来咯7 分钟前
一个Java的main方法在JVM中的执行流程
java·开发语言·jvm
江团1io08 分钟前
深入解析三色标记算法
java·开发语言·jvm
data myth9 分钟前
力扣1210. 穿过迷宫的最少移动次数 详解
算法·leetcode·职场和发展
天天摸鱼的java工程师16 分钟前
RestTemplate 如何优化连接池?—— 八年 Java 开发的踩坑与优化指南
java·后端
惯导马工18 分钟前
【论文导读】AI-Assisted Fatigue and Stamina Control for Performance Sports on IMU-Gene
深度学习·算法
你我约定有三20 分钟前
java--泛型
java·开发语言·windows
沐怡旸24 分钟前
【算法--链表】109.有序链表转换二叉搜索树--通俗讲解
算法·面试