LEETCODE | PYTHON | 415 | 字符串相加
1. 题目
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。
你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/add-strings
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 代码
class Solution:
def addStrings(self, num1: str, num2: str) -> str:
#计算字符串长度
len1 = len(num1)
len2 = len(num2)
#从尾部开始遍历
res = ''
flag = 0 #是否进位
index1 = len1 - 1
index2 = len2 - 1
while index1>=0 and index2>=0:
#当前位置的值
num = int(num1[index1]) + int(num2[index2]) + flag
#将值更新入res
res = str(num%10) + res
#判断是否进位
flag = num // 10
#调整指针位置
index1 = index1 - 1
index2 = index2 - 1
#若num1有剩余
while index1 >= 0:
#判断当前位置的值
num = int(num1[index1]) + flag
#将值更新入res
res = str(num%10) + res
#判断是否进位
flag = num // 10
#调整指针位置
index1 = index1 - 1
#若num2有剩余
while index2 >= 0:
#判断当前位置的值
num = int(num2[index2]) + flag
#将值更新入res
res = str(num%10) + res
#判断是否进位
flag = num // 10
#调整指针位置
index2 = index2 - 1
#判断最后是否进位
if flag == 1:
res = str(1) + res
return res