Move Zeroes

Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements.

Note that you must do this in-place without making a copy of the array.

# Solution

Double Pointer / Fast And Slow Pointer

• we need to change the value to `0` after k.

# Code

• submit code
``````class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
slow = 0
fast = 0

while(fast < len(nums)):
if(nums[fast] != 0):
nums[slow] = nums[fast]
slow += 1
fast += 1

for m in range(slow,len(nums)):
nums[m] = 0
``````
• full code
``````class Solution:
def moveZeroes(self, nums):

slow = 0
fast = 0

while(fast < len(nums)):
if(nums[fast] != 0):
nums[slow] = nums[fast]
slow += 1
fast += 1

for m in range(slow,len(nums)):
nums[m] = 0

# print(nums)

nums = [0,1,0,3,12]
S = Solution()
print(S.moveZeroes(nums))
``````

# 👇 Share | 分享 👇

### 要不赞赏一下?  微信  支付宝  PayPal  Bitcoin

``https://www.emperinter.info/2022/03/15/move-zeroes/``

## My Github Contributions 