66. Plus One

2019-03-05  本文已影响0人  FlyCharles

1. 我的AC

方法一

class Solution(object):
    def plusOne(self, digits):
        """
        :type digits: List[int]
        :rtype: List[int]
        """
        digits[-1] += 1
        for i in range(len(digits)-1, 0, -1):
            if digits[i] == 10:
                digits[i] = 0
                digits[i-1] += 1
            else:
                return digits
        if digits[0] == 10:
            digits[0] = 0
            digits.insert(0, 1)
        return digits

方法二

class Solution(object):
    def plusOne(self, digits):
        """
        :type digits: List[int]
        :rtype: List[int]
        """
        num = int("".join(map(str, digits))) + 1
        return [int(char) for char in str(num)]

2. 小结

  1. 数组逆序
range(10, 0, -1) # [10, 9, 8, ..., 1]
  1. 映射函数 map()
map(str, nums) #  [1, 2, 3] -> ['1', '2', '3']
上一篇下一篇

猜你喜欢

热点阅读