LeetCode----Move Zeroes

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.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [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.

分析:

将数组中0移到数组后面去,注意要保持数组的相对元素位置不变。


代码:

class Solution(object):
    def moveZeroes(self, nums):
        """
        :type nums: List[int]
        :rtype: void Do not return anything, modify nums in-place instead.
        """
        nums_l = len(nums)
        if nums_l <= 1:
            return
        z = i = 0
        while i < nums_l:
            t = nums[i]
            if t:
                nums[i] = 0
                nums[z] = t
                z += 1
            i += 1

你可能感兴趣的:(LeetCode,python,数组)