Leetcode練習(Python):第415題:字符串相加:給定兩個字符串形式的非負整數 num1 和num2 ,計算它們的和。


題目:

字符串相加:給定兩個字符串形式的非負整數 num1 和num2 ,計算它們的和。

注意:

num1 和num2 的長度都小於 5100.
num1 和num2 都只包含數字 0-9.
num1 和num2 都不包含任何前導零。
你不能使用任何內建 BigInteger 庫, 也不能直接將輸入的字符串轉換為整數形式。

思路:

較簡單,注意進位問題。

程序:

class Solution:
    def addStrings(self, num1: str, num2: str) -> str:
        if not num1 and num2:
            return num2
        if num1 and not num2:
            return num1
        if not num1 and not num2:
            return num1
        length1 = len(num1)
        length2 = len(num2)
        carry = 0
        result = [0]
        for index in range(1, max(length1, length2) + 1):
            if index <= length1:
                n1 = int(num1[-index])
            else:
                n1 = 0
            if index <= length2:
                n2 = int(num2[-index])
            else:
                n2 = 0
            auxiliary = n1 + n2 + carry
            carry = auxiliary // 10
            result.insert(0, str(auxiliary % 10))
        if carry == 0:
            return ''.join(result[: -1])
        elif carry == 1:
            return '1' + ''.join(result[: -1])

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM