LeetCode-移动零(283)

题目描述:

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

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

思路: 这里的思路跟以前做过的去重复数字的思路有点像,快指针也就是for循环中的i遍历元素,慢指针也就是count指向存储元素得到位置,当然只有当遍历的数字不是0的时候才会存储该数字至count指向的位置,并且count+1。完成存储的for循环之后,就要把忽略掉的0给添加都末尾,这一步操作就简单了,具体看代码。
代码:

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        int count=0;
        for(int i=0;i<nums.length;i++) {
            if(nums[i]!=0) {
                nums[count]=nums[i];
                count++;
            }
            
        }
        
        for(int i=count;i<nums.length;i++) {
            nums[i]=0;
        }
        
        
    }
}
相关推荐
数据皮皮侠1 分钟前
上市公司内源与债权股权融资协同数据(2009-2025)
大数据·人工智能·算法·microsoft·百度
KillerNoBlood5 分钟前
2026移动端跨平台开发面经总结
android·算法·flutter·ios·移动开发·鸿蒙·kmp
YL200404265 分钟前
035LRU缓存
java·leetcode·缓存
basketball6166 分钟前
C++ Lambda 表达式完全指南
开发语言·c++·算法
不知名的老吴8 分钟前
C++中emplace函数的不适场景总结(三)
开发语言·c++·算法
玉树临风ives29 分钟前
atcoder ABC 457 题解
数据结构·c++·算法
驭渊的小故事38 分钟前
Java数据结构集合框架(栈(Stack)的详细解析)2000字详细解析
数据结构
宵时待雨1 小时前
回溯算法专题1:递归
数据结构·c++·笔记·算法·leetcode·深度优先
爱思德学术1 小时前
【SPIE出版】黄冈师范学院主办!第四届大数据、计算智能与应用国际会议(BDCIA 2026)
大数据·算法·数据分析·云计算·etl
洛水水1 小时前
【力扣100题】40.二叉树中的最大路径和
算法·leetcode·深度优先