给定一个数组 ,将所有 0 移动到数组的头部,同时保持非零元素的相对顺序,返回并打印。 例如:数组A为 [1,1,0,2], A变为 [0,1,1,2].
时间: 2024-05-20 10:16:00 浏览: 38
js代码-给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
以下是Python的解法:
def move_zeros(nums):
zero_count = 0 # 计算0的个数
for i in range(len(nums)):
if nums[i] == 0:
zero_count += 1
else:
nums[i-zero_count] = nums[i] # 将非零元素向前移动
for i in range(-1, -zero_count-1, -1):
nums[i] = 0 # 将末尾填充0
print(nums)
# 测试
nums = [1, 1, 0, 2]
move_zeros(nums) # 输出 [0, 1, 1, 2]
阅读全文