import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
public String solve(String s, String t) {
if (s.equals("")) {
return t;
}
if (t.equals("")) {
return s;
}
// 从各位开始相加,个位+个位,十位+十位,超过10的进1
StringBuilder ss = new StringBuilder(s).reverse();
StringBuilder tt = new StringBuilder(t).reverse();
int sLength = ss.length();
int tLength = tt.length();
final StringBuilder sb = new StringBuilder();
boolean flag = false;
if (sLength >= tLength) {
for (int i = 0; i < sLength; i++) {
for (int j = 0; j < tLength; j++) {
if (!(i == j || i >= tLength)) {
continue;
}
int n1 = Integer.parseInt(ss.charAt(i) + "");
int n2 = i >= tLength ? 0 : Integer.parseInt(tt.charAt(j) + "");
int value = n1 + n2;
if (flag) {
value += 1;
}
if (value >= 10) {
flag = true;
value = value - 10;
} else {
flag = false;
}
sb.append(value);
break;
}
}
} else {
for (int i = 0; i < tLength; i++) {
for (int j = 0; j < sLength; j++) {
if (!(i == j || i >= sLength)) {
continue;
}
int n1 = i >= sLength ? 0 : Integer.parseInt(ss.charAt(j) + "");
int n2 = Integer.parseInt(tt.charAt(i) + "");
int value = n1 + n2;
if (flag) {
value += 1;
}
if (value >= 10) {
flag = true;
value = value - 10;
} else {
flag = false;
}
sb.append(value);
break;
}
}
}
// 可能最后一位需要进1,特殊处理一下
if (flag) {
sb.append("1");
}
return sb.reverse().toString();
}
}