LeetCode 283. Move Zeroes

Description

https://leetcode.com/problems/move-zeroes/

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:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

Explanation

Use a temp array to store the element in rotating order

Python Solution

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        i = 0
        j = 0
        
        for j in range(0, len(nums)):
            if nums[j] != 0:
                temp = nums[i] 
                nums[i] = nums[j]
                nums[j] = temp
                i = i + 1
  • Time complexity: O(N).
  • Space complexity: O(1).

One Thought to “LeetCode 283. Move Zeroes”

Leave a Reply

Your email address will not be published. Required fields are marked *