描述
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。
数据范围:s.length,t.length \le 100000s.length,t.length≤100000,字符串仅由’0’~‘9’构成
要求:时间复杂度 O(n)O(n)
解析
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
public String solve (String s, String t) {
// write code here
StringBuilder res = new StringBuilder();
int tmp = 0;
int i = s.length() - 1;
int j = t.length() - 1;
while(i >= 0 || j >= 0) {
int m = i < 0 ? 0 : s.charAt(i) - '0';
int n = j < 0 ? 0 : t.charAt(j) - '0';
res.append((m + n + tmp) % 10);
tmp = (m + n + tmp) / 10;
--i;
--j;
}
if(tmp != 0) {
res.append(tmp);
}
return res.reverse().toString();
}
}