LeetCode每日一题,415. Add Strings
先看题目描述
题目大意就是给定两个只含正整数的两个长字符串,将其相加,并以字符串形式返回
算法和思路
思路就是模拟人工加法
算法流程
- 初始化进位 carry = 0
- 从后往前相加,计算 temp = n1 + n2 + carry,将当前位 temp % 10 添加到结果字符串 sb 首位
- 计算进位,计算 carry = temp / 10,代表当前位相加是否产生了进位
- 当长度较小的字符串遍历完后,遍历长度较大的字符串剩余部分,按照前面的方法计算进位和当前位,添加到结果字符串 sb 头部
- 最终返回转成字符串的 sb
算法源码
1 | class Solution { |
提交完后去看题解,发现思路是一致的,运行效率也差不多,但是别人写的代码要更加简洁,可以学习下这种写法
1 | class Solution { |