移动零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;
    }
}

关键点

  • 双指针的思想
相关推荐
2501_9032386515 分钟前
自定义登录页面的Spring Security实践
java·后端·spring·个人开发
JNU freshman19 分钟前
力扣第435场周赛讲解
算法·leetcode·蓝桥杯
眼镜哥(with glasses)20 分钟前
蓝桥杯python基础算法(2-2)——基础算法(B)——模拟(上)
算法
飞翔的佩奇1 小时前
Java项目: 基于SpringBoot+mybatis+maven+mysql实现的图书管理系统(含源码+数据库+答辩PPT+毕业论文)
java·数据库·spring boot·mysql·spring·毕业设计·图书管理
赵鑫亿2 小时前
7.DP算法
算法·dp
iqay2 小时前
【C语言】填空题/程序填空题1
c语言·开发语言·数据结构·c++·算法·c#
还有糕手2 小时前
算法【有依赖的背包】
算法·动态规划
jerry6093 小时前
注解(Annotation)
java·数据库·sql
Future_yzx3 小时前
Java Web的发展史与SpringMVC入门学习(SpringMVC框架入门案例)
java·前端·学习
pursuit_csdn3 小时前
力扣 347. 前 K 个高频元素
算法·leetcode