【LeeCode】283题如何高效实现零的移动?

2026-05-24 00:340阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计504个文字,预计阅读时间需要3分钟。

【LeeCode】283题如何高效实现零的移动?

【题目描述】给定一个数组 `nums`,编写一个函数,将所有0移动到数组的末尾,同时保持非零元素的相对顺序。注意,必须在原地修改数组,且不使用额外的数组。

【函数实现】pythondef move_zeros(nums): # 初始化指针 last_non_zero_found_at=0

# 遍历数组 for i in range(len(nums)): # 如果当前元素不是0 if nums[i] !=0: # 如果last_non_zero_found_at不是i,说明之前有0 if last_non_zero_found_at !=i: # 交换元素 nums[last_non_zero_found_at], nums[i]=nums[i], nums[last_non_zero_found_at] # 更新last_non_zero_found_at指针 last_non_zero_found_at +=1

示例nums=[0, 1, 0, 3, 12]move_zeros(nums)print(nums) # 输出应为 [1, 3, 12, 0, 0]

给定一个数组​​nums​​​,编写一个函数将所有​​0​​移动到数组的末尾,同时保持非零元素的相对顺序。

阅读全文

本文共计504个文字,预计阅读时间需要3分钟。

【LeeCode】283题如何高效实现零的移动?

【题目描述】给定一个数组 `nums`,编写一个函数,将所有0移动到数组的末尾,同时保持非零元素的相对顺序。注意,必须在原地修改数组,且不使用额外的数组。

【函数实现】pythondef move_zeros(nums): # 初始化指针 last_non_zero_found_at=0

# 遍历数组 for i in range(len(nums)): # 如果当前元素不是0 if nums[i] !=0: # 如果last_non_zero_found_at不是i,说明之前有0 if last_non_zero_found_at !=i: # 交换元素 nums[last_non_zero_found_at], nums[i]=nums[i], nums[last_non_zero_found_at] # 更新last_non_zero_found_at指针 last_non_zero_found_at +=1

示例nums=[0, 1, 0, 3, 12]move_zeros(nums)print(nums) # 输出应为 [1, 3, 12, 0, 0]

给定一个数组​​nums​​​,编写一个函数将所有​​0​​移动到数组的末尾,同时保持非零元素的相对顺序。

阅读全文