import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
public String solve (String s, String t) {
// write code here
if(s == null){
return t;
}
if(t == null){
return s;
}
//相加的时候注意内存泄漏
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
int i = s.length() - 1, j = t.length() - 1, carray = 0;
while(i >= 0 || j >= 0 || carray != 0){
carray += (i >=0 ? s.charAt(i--) - '0' : 0 );
carray += (j >=0 ? t.charAt(j--) - '0' : 0);
//求余数
stack.push(carray % 10);
//求商进一
carray = carray / 10;
}
while(!stack.isEmpty()){
sb.append(stack.pop());
}
return sb.toString();
}
}