Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.
Example:
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]
Note:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
Solution in python:
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
length = len(nums)
i, j, count = 0, 0, 0
while i < length:
if nums[i] == 0:
count += 1
else:
nums[j] = nums[i]
j += 1
i += 1
while j < length:
nums[j] = 0
j += 1
留言