美文网首页
66. Plus One

66. Plus One

作者: FlyCharles | 来源:发表于2019-03-05 21:55 被阅读0次

    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
    

    方法二

    • 映射函数 map()
    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']
    

    相关文章

      网友评论

          本文标题:66. Plus One

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