代码转载自:点击这里可以查看
我给加了很详细的注解,这样看起来就方便多了,尤其是像我一样的新手
class Solution(object):
def addStrings(self, num1, num2):
"""
:type num1: str
:type num2: str
:rtype: str
"""
#长度减一是字符在字符串中最后的位置
i = len(num1) - 1
j = len(num2) - 1
result = ''
#进位
carry = 0
while i >= 0 or j >= 0:
if i >= 0:
#用acsii编码来做出计算,用数字的ascii码减去0对
#应的ascii编码,最终结果即为这个数字
carry += ord(num1[i]) - ord('0')
if j >= 0:
carry += ord(num2[j]) - ord('0')
#每次将计算的结果而非进位加到字符串result中
result += chr(carry % 10 + ord('0'))
#求出进位
carry //= 10
i -= 1
j -= 1
if carry == 1:
result += '1'
return result[::-1]