66. Plus One

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

方法二

  • 映射函數(shù) 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. 數(shù)組逆序
range(10, 0, -1) # [10, 9, 8, ..., 1]
  1. 映射函數(shù) map()
map(str, nums) #  [1, 2, 3] -> ['1', '2', '3']
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 問題: Given a non-negative number represented as an array o...
    Cloudox_閱讀 326評論 0 0
  • 題目 Given a non-negative integer represented as a non-empt...
    miltonsun閱讀 316評論 0 0
  • 題目描述:給一個用非空數(shù)組表示的非負整數(shù),使它加1。數(shù)組無前導0,按下標從小到大存儲該數(shù)高到低位。 分析:最低位加...
    Nautilus1閱讀 123評論 0 0
  • 模擬人工加法的過程。 從低位到高位,依次計算出每一位數(shù)字,過程中需要記錄進位。如果最高位進位是1,則需要將整個數(shù)組...
    Chrisbupt閱讀 362評論 0 0
  • 給定一個非負整數(shù)組成的非空數(shù)組,給整數(shù)加一。 可以假設整數(shù)不包含任何前導零,除了數(shù)字0本身。 最高位數(shù)字存放在列表...
    vcancy閱讀 347評論 0 0

友情鏈接更多精彩內容