class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
#这个算法nb了
zero = 0 # records the position of "0"
for i in range(len(nums)):
if nums[i] != 0: #如果该位置不是0
nums[i], nums[zero] = nums[zero], nums[i]
zero += 1
''' #这是我写的 但是内部数据不允许改动
left = []
right = []
for i in nums:
if i == 0:
right.append(i)
else:
left.append(i)
nums = left + right
'''
'''
#第二种方法 两个指针来做 可以实现调换 但是非0的顺序换了
p,q = 0,len(nums)-1
while p < q:
print(p,q)
if nums[p] == 0 and nums[q] != 0:
nums[p],nums[q] = nums[q],nums[p]
elif nums[p] != 0 :
p = p + 1
elif nums[q] == 0 :
q = q-1
'''