LeetCode-热题100: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


进阶: 你能尽量减少完成的操作次数吗?

代码及注释

func moveZeroes(nums []int) {
    slow := 0 // 初始化慢指针,用于记录非零元素的位置
    // 使用快指针遍历数组中的每个元素
    for fast := 0; fast < len(nums); fast++ {
        // 如果当前元素不为零
        if nums[fast] != 0 {
            // 将当前非零元素移动到慢指针的位置,并更新慢指针位置
            nums[slow] = nums[fast]
            slow++
        }
    }
    // 将剩余的元素都设置为零,确保数组末尾是零元素
    for i := slow; i < len(nums); i++ {
        nums[i] = 0
    }
}

相关推荐

  1. LeetCode 100——283. 移动

    2024-03-23 00:16:01       62 阅读
  2. LeetCode-100:283.移动

    2024-03-23 00:16:01       40 阅读
  3. leetcode100】矩阵置

    2024-03-23 00:16:01       39 阅读
  4. 移动算法(leetcode第283)

    2024-03-23 00:16:01       55 阅读
  5. 力扣100_双指针_283_移动

    2024-03-23 00:16:01       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 00:16:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 00:16:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 00:16:01       87 阅读
  4. Python语言-面向对象

    2024-03-23 00:16:01       96 阅读

热门阅读

  1. Docker compose()

    2024-03-23 00:16:01       44 阅读
  2. Kubernetes集群部署

    2024-03-23 00:16:01       34 阅读
  3. 网络安全——笔记

    2024-03-23 00:16:01       45 阅读
  4. 随机选择游戏角色的代码

    2024-03-23 00:16:01       41 阅读
  5. Nginx编译后平滑升级

    2024-03-23 00:16:01       44 阅读
  6. c语言常见错误

    2024-03-23 00:16:01       47 阅读