Day37 作业题 把数组中的零移动到末尾
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
def moveZeros(nums):
p=0
for j in range(1,len(nums)):
if nums[p]!=0 and nums[j]!=0:
p+=1
elif nums[p]==0 and nums[j]!=0:
nums[p],nums[j]=nums[j],nums[p]
p+=1
elif nums[p]!=0 and num[j]==0:
p+=1
return nums
sa= [0,0,1,3,12,0]
print(moveZeros(sa))
快慢指针
def moveZeros(nums):
left=0
for right in range(len(nums)):
if nums[right]!=0:
if right>left:
nums[left],nums[right]=nums[right],nums[left]
left+=1
return nums
sa= [0,1,0,0,0,3,12,0]
print(moveZeros(sa))