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;
        }
        
        
    }
}
相关推荐
BackCatK Chen8 分钟前
2026智驾决赛圈:洗牌、技术决战与3大生死门槛
算法·华为·gpu算力·vla·世界模型
王老师青少年编程10 分钟前
csp信奥赛C++之摩尔投票算法详解
数据结构·c++·算法·题解·csp·信奥赛·摩尔投票算法
Purple Coder18 分钟前
基于GNN的超导材料生长方法研究算法的实现-1
算法
tod11320 分钟前
C++ 核心知识点全解析(六)
c++·算法·面试经验
m0_5312371721 分钟前
C语言-编程实例
c语言·开发语言·数据结构
紫陌涵光23 分钟前
701. 二叉搜索树中的插入操作
算法·leetcode
tankeven25 分钟前
HJ100 等差数列
c++·算法
ADDDDDD_Trouvaille26 分钟前
2026.2.22——OJ98-100题
c++·算法
闻缺陷则喜何志丹29 分钟前
【差分数组】P9166 [省选联考 2023] 火车站|普及+
数据结构·c++·洛谷·差分数组
tankeven31 分钟前
HJ99 自守数
c++·算法