Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.
Note:
num1 and num2 is < 5100.num1 and num2 contains only digits 0-9.num1 and num2 does not contain any leading zero.class Solution(object):
def addStrings(self, num1, num2):
"""
:type num1: str
:type num2: str
:rtype: str
"""
"""
"1234"+num2
"99678" num1
-------
100912
"""
i, j = len(num1)-1, len(num2)-1
c = 0
ans = []
while i>=0 or j>=0 or c>0:
d1, d2 = 0, 0
if i>=0:
d1 = int(num1[i])
i -= 1
if j>=0:
d2 = int(num2[j])
j -= 1
s = d1+d2+c
c = s/10
ans.append(str(s%10))
return "".join(ans[::-1])
使用if 判断绕过重复的while循环。
原文:https://www.cnblogs.com/bonelee/p/9240932.html