一、题目
二、思路
简单题。不能用函数,就用小学数学相加的方法(从右至左),存储进位carry值。
双指针分别从右到左遍历两个字符串
注意:
(1)当其中一方没有数字了,另一方还有的时候,就往没有的一方填充0,这里有个trick用三元表达式写得短点哈哈。
(2)最后出了循环后carry还需要判断最后一次的,别漏了。
三、Python3代码
class Solution: def addStrings(self, num1: str, num2: str) -> str: i, j = len(num1) - 1, len(num2) - 1 # i, j = 0 , 0 # 进位 carry = 0 res = '' while i >= 0 or j >= 0: # 有一方没数则填充0 a = int(num1[i]) if i >= 0 else 0 b = int(num2[j]) if j >= 0 else 0 temp = a + b + carry carry = int(temp / 10) num = str(temp % 10) res = num + res i -= 1 j -= 1 if carry > 0: res = '1' + res return res