public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        // write code here
        char[] schars = s.toCharArray();
        char[] tchars = t.toCharArray();
        int count = 1;
        final char zero = '0';
        StringBuffer sb = new StringBuffer();
        //两数相加后整除10后的商
        int cb = 0;
        while(true){
            //从后到前取数组
            int sidx = schars.length - count;
            int tidx = tchars.length - count;
            //下标越界时设为0
            int si = sidx >= 0 ? schars[sidx] - zero : 0;
            int ti = tidx >= 0 ? tchars[tidx] - zero : 0;
            //将上一次整除的商和两数相加
            int sum = cb + si + ti;
            cb = sum / 10;
            sb.append(sum % 10);
            count++;
            if(schars.length - count < 0 && tchars.length - count < 0){
                if(cb > 0){
                   //商大于0,且两个字符串已遍历完
                   sb.append(cb);
                }
                break;
            }
        }
        return sb.reverse().toString();
    }
}