Big Integer Addition
这题简单是简单,但是属于要仔细处理case的题目,下面这个代码可以当模板了
class Solution:
# @param {string} num1 a non-negative integers
# @param {string} num2 a non-negative integers
# @return {string} return sum of num1 and num2
def addStrings(self, num1, num2):
# Write your code here
n, m = len(num1) - 1, len(num2) - 1
step = 0
res = ''
while n >= 0 and m >= 0:
tmp = ord(num1[n]) + ord(num2[m]) - 2 * ord('0')
step, div = divmod(tmp + step, 10)
res = str(div) + res
n -= 1
m -= 1
while n >= 0:
tmp = ord(num1[n]) - ord('0')
step, div = divmod(tmp + step, 10)
res = str(div) + res
n -= 1
while m >= 0:
tmp = ord(num2[m]) - ord('0')
step, div = divmod(tmp + step, 10)
res = str(div) + res
m -= 1
return res if step == 0 else '1' + res