【String-easy】415. Add Strings两个字符串对应位置相加(大数相加)
程序员文章站
2022-07-13 17:48:30
...
1. 题目原址
https://leetcode.com/problems/add-strings/
2. 题目描述
3. 题目大意
给定两个字符串,将字符串对应位置相加,然后返回成字符串
4. 解题思路
从后往前遍历。然后使用StringBuilder类型的变量来存储每一位的相加结果,
5. AC代码
class Solution {
public String addStrings(String num1, String num2) {
int length1 = num1.length() - 1;
int length2 = num2.length() - 1;
int temp = 0;
StringBuilder sb = new StringBuilder();
while(length1 >= 0 || length2 >= 0 || temp > 0) {
// 从串的后面获取字符
int a = length1 >= 0 ? num1.charAt(length1 --) - '0':0;
int b = length2 >= 0 ? num2.charAt(length2 --) - '0':0;
// 计算两个串对应位置的字符相加得到的结果
int yushu = (a + b + temp) % 10;
// 得到相加后的高位数,如果是两位数12的话,得到的是1
temp = (a + b + temp) / 10;
sb.insert(0,String.valueOf((char)(yushu + '0')));
}
return sb.toString();
}
}
6. 相似题型
【1】989. Add to Array-Form of Integer 解题原址:https://blog.csdn.net/xiaojie_570/article/details/91829848
【2】 66. Plus One 题目原址:https://leetcode.com/problems/plus-one/
【3】 67. Add Binary 题目原址:https://leetcode.com/problems/add-binary/
【4】 415. Add Strings 题目原址:https://leetcode.com/problems/add-strings/