美文网首页
283. Move Zeroes

283. Move Zeroes

作者: byr_hfaltgg | 来源:发表于2017-07-07 14:32 被阅读0次

    很简单的一道题,基本不用思考,可以说我想了很长时间为什么这么简单。。。。
    先上我的代码:

    class Solution(object):
        def moveZeroes(self, nums):
            """
            :type nums: List[int]
            :rtype: void Do not return anything, modify nums in-place instead.
            """
            for i in range(len(nums) - 1, -1, -1):
                if nums[i] == 0:
                    nums.pop(i)
                    nums.append(0)
    

    不过逛Solutions的时候发现一个更简洁的。。。。

    nums.sort(key= lambda x: 1 if x == 0 else 0)
    

    又是各种one line python系列。。。
    查了一下python的手册,发现sort里这个key参数,是用来定义如何比较一个序列中元素大小的一个函数,默认直接比较元素大小,上面用lambda给出的key函数就是假如元素是0就最小,假如不是0就都一样大,所以最后能达到题目要求。

    不得不说,python提供的东西真是方便得多,又想起拿OC和JAVA写很多行比较函数的时候了。。。。。

    相关文章

      网友评论

          本文标题:283. Move Zeroes

          本文链接:https://www.haomeiwen.com/subject/nknlhxtx.html