Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.
Note:
- The length of both
num1andnum2is < 5100. - Both
num1andnum2contains only digits0-9. - Both
num1andnum2does not contain any leading zero. - You must not use any built-in BigInteger library or convert the inputs to integer directly.
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循环。