leetcode283移动零元素

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入: nums = [0,1,0,3,12]

输出: [1,3,12,0,0]

示例 2:

输入: nums = [0]

输出: [0]

提示:

1 <= nums.length <= 104

-231 <= nums[i] <= 231 - 1

解题代码

java 复制代码
public static void main(String[] args) {
        MoveZeros moveZeros = new MoveZeros();
        int[] demo =  new int[] {0,1,0,3,12};
        moveZeros.removeZeros(demo);
        System.out.println(Arrays.toString(Arrays.stream(demo).toArray()));
    }
    public void removeZeros(int[] nums) {
        int slow = 0, fast = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == 0) {
                fast++;
            } else {
                nums[slow] = nums[i];
                fast++;
                slow++;
            }
        }
        for (int i = slow; i < fast; i++) {
            nums[i] = 0;
        }
    }
相关推荐
李昊哲小课10 分钟前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
Hou'10 分钟前
从0到1的C语言传奇之路
c语言·开发语言
不知名的老吴34 分钟前
返回None还是空集合?防御式编程的关键细节
开发语言·python
计算机毕设指导636 分钟前
基于SpringBoot校园学生健康监测管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea
mysuking42 分钟前
springboot与springcloud对应版本
java·spring boot·spring cloud
希望永不加班42 分钟前
SpringBoot 数据库连接池配置(HikariCP)最佳实践
java·数据库·spring boot·后端·spring
迈巴赫车主1 小时前
蓝桥杯3500阶乘求和java
java·开发语言·数据结构·职场和发展·蓝桥杯
流云鹤1 小时前
Codeforces Round 1090 (Div. 4)
c++·算法
小菜鸡桃蛋狗1 小时前
C++——string(上)
开发语言·c++
wljy11 小时前
第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(个人见解,已完结)
c语言·c++·算法·蓝桥杯·stl