asp.net 手机网站开发,建网页的公司,工程网站模板,wordpress 汉化 不变题目内容#xff1a;
给定一个数组 nums#xff0c;编写一个函数将所有 0 移动到数组的末尾#xff0c;同时保持非零元素的相对顺序。 请注意 #xff0c;必须在不复制数组的情况下原地对数组进行操作。
示例 :
输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]
答案…题目内容
给定一个数组 nums编写一个函数将所有 0 移动到数组的末尾同时保持非零元素的相对顺序。 请注意 必须在不复制数组的情况下原地对数组进行操作。
示例 :
输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]
答案
# codingutf-8
# 时间2024/3/7 21:42
# Pythonit教程网blog.pythonit.cn)
# Python全栈视频课件获取www.dqu.cc
# 加速高防cdnwoaiyundun.cn
def move_zeroes(nums):# 初始化一个指针指向非零元素的下一个位置write_index 0# 遍历数组for read_index in range(len(nums)):# 如果当前元素不是0if nums[read_index] ! 0:# 将当前元素放到write_index的位置nums[write_index] nums[read_index]# 将write_index向前移动一位write_index 1# 遍历结束后write_index之后的位置都应该是0# 因为我们只需要保证非零元素在write_index之前所以直接在后面填充0即可for i in range(write_index, len(nums)):nums[i] 0
nums [0, 1, 0, 3, 12]
move_zeroes(nums)
print(nums) # 输出应该是 [1, 3, 12, 0, 0]