力扣--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(nums[i] != 0){

nums[index] = nums[i];

index++;

}

}

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

nums[i] = 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++;
        }
    }
}
相关推荐
Felix_12151 分钟前
2025 西电软工数据结构机考 Tip (By Felix)
算法
飞yu流星1 小时前
C++ 函数 模板
开发语言·c++·算法
没有名字的鬼1 小时前
C_字符数组存储汉字字符串及其索引
c语言·开发语言·数据结构
pursuit_csdn1 小时前
力扣 74. 搜索二维矩阵
算法·leetcode·矩阵
labuladuo5201 小时前
洛谷 P8703 [蓝桥杯 2019 国 B] 最优包含(dp)
算法·蓝桥杯·动态规划
Milk夜雨2 小时前
C语言冒泡排序教程简介
数据结构·算法·排序算法
委婉待续2 小时前
redis的学习(三)
数据结构·算法
一直学习永不止步3 小时前
LeetCode题练习与总结:随机翻转矩阵--519
java·数学·算法·leetcode·哈希表·水塘抽样·随机化
xiao--xin3 小时前
LeetCode100之组合总和(39)--Java
java·开发语言·算法·leetcode·回溯
IT猿手4 小时前
部落竞争与成员合作算法(CTCM)求解5个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码
深度学习·算法·机器学习·matlab·无人机·无人机、