LeetCode OJ 系列之283 Move Zeroes --Python

来源:互联网 发布:木工柜门半盖怎么算法 编辑:程序博客网 时间:2024/05/22 10:40

Problem:

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.

Answer:

class Solution(object):    def moveZeroes(self, nums):        """        :type nums: List[int]        :rtype: void Do not return anything, modify nums in-place instead.        """        oldlen = len(nums)        tmplist = filter(lambda x:x !=0,nums)        del nums[:]        for i in range(oldlen):            if i< len(tmplist):                nums.append(tmplist[i])            else:                nums.append(0)        


0 0