415、字符串相加
题目:
https://leetcode-cn.com/problems/add-strings/
题解:
此题关键是如何处理长整数的存储,使用字符串转数字的方法直接处理肯定会溢出,因为题目规定字符串numX长度<=5100,这种大数无法直接存储,所以要求返回字符串。因此需要在不断计算的过程中,一位一位的加入字符串数组。
计算的方式就是模拟人脑计算的方式,从尾巴开始双指针计算,并记录进位。比较简单。重点就在于字符转换和拼接,对于python来说很方便。
重点处理过长大数,模拟人脑双指针运算,字符串拼接
1 2 3 4 5 6 7 8 9 10 11 12
| class Solution: def addStrings(self, num1: str, num2: str) -> str: res = "" i, j, carry = len(num1) - 1, len(num2) - 1, 0 while i >= 0 or j >= 0: n1 = int(num1[i]) if i >= 0 else 0 n2 = int(num2[j]) if j >= 0 else 0 tmp = n1 + n2 + carry carry = tmp // 10 res = str(tmp % 10) + res i, j = i - 1, j - 1 return "1" + res if carry == 1 else res
|
上一篇:43-字符串相乘
下一篇:7、LAMP架构搭建