415. 字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
注意:
num1
和num2
的长度都小于5100
.
num1
和num2
都只包含数字 0-9
.
num1
和num2
都不包含任何前导零。
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
class Solution:
def addStrings(self, num1, num2):
"""
:type num1: str
:type num2: str
:rtype: str
"""
res = 0
if len(num1) < len(num2):
short_num = num1[::-1]
long_num = num2[::-1]
else:
short_num = num2[::-1]
long_num = num1[::-1]
for i in range(len(short_num)): // 逐位相加
curr = int(short_num[i]) + int(long_num[i])
res += curr * (10 ** i)
for j in range(i+1, len(long_num)): // 将较长的补加上
curr = int(long_num[j])
res += curr * (10 ** j)
return str(res)