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
最后修改日期: 2021年1月25日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。