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;
        }
        
        
    }
}
相关推荐
guygg888 分钟前
基于捷联惯导与多普勒计程仪组合导航的MATLAB算法实现
开发语言·算法·matlab
fengfuyao98510 分钟前
遗传算法与粒子群算法求解非线性函数最大值问题
算法
LeetCode天天刷24 分钟前
【软件认证】比特翻转【滑动窗口】
算法
源代码•宸26 分钟前
Leetcode—1123. 最深叶节点的最近公共祖先【中等】
经验分享·算法·leetcode·职场和发展·golang·dfs
s砚山s29 分钟前
代码随想录刷题——二叉树篇(十三)
数据结构·算法
alphaTao33 分钟前
LeetCode 每日一题 2026/1/5-2026/1/11
算法·leetcode
山上三树34 分钟前
详细介绍 C 语言中的 #define 宏定义
c语言·开发语言·算法
ulias2121 小时前
AVL树的实现
开发语言·数据结构·c++·windows
黎雁·泠崖1 小时前
二叉树知识体系全梳理:从基础到进阶一站式通关
c语言·数据结构·leetcode
AI科技星1 小时前
引力与电磁的动力学耦合:变化磁场产生引力场与电场方程的第一性原理推导、验证与统一性意义
服务器·人工智能·科技·线性代数·算法·机器学习·生活