力扣--283.移动零

题目

给定一个数组 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

代码

class Solution {

public void moveZeroes(int\[\] nums) {

int index = 0;

for(int i = 0;i< nums.length;i++){

if(numsi != 0){

numsindex = numsi;

index++;

}

}

for(int i = index;i< nums.length;i++){

numsi = 0;

}

}

}

双指针

public void moveZeroes(int\[\] nums) {

if (nums.length == 1) {

return;

}

复制代码
    int slow = 0;
    for (int fast = 1; fast < nums.length; fast++) {
        if (nums[slow] == 0 && nums[fast] != 0) {
            nums[slow] = nums[fast];
            nums[fast] = 0;
            slow++;
        } else if (nums[slow] != 0) {
            slow++;
        }
    }
}
相关推荐
稚南城才子,乌衣巷风流28 分钟前
支配树(Dominator Tree)详解:概念、算法与应用
算法
稚南城才子,乌衣巷风流1 小时前
动态开点:原理、实现与应用场景
数据结构·算法
yyds_yyd_100861 小时前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode
KaMeidebaby2 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法
geovindu3 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
ekkoalex4 小时前
训练框架以及算法实现的框架
算法
DFT计算杂谈4 小时前
交错磁研究进展材料物性与交叉应用
数据库·人工智能·python·opencv·算法
玖玥拾4 小时前
LeetCode 26 删除有序数组中的重复项
算法·leetcode
Kina_C5 小时前
LVS负载均衡的十二种核心调度算法
linux·运维·算法·负载均衡·lvs
吞下星星的少年·-·5 小时前
牛客技能树:小红走矩阵(dp入门)
算法·dp