import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        // write code here

        // 0.处理特殊情况
        if (s.length() == 0) {
            return t;
        }
        if (t.length() == 0) {
            return s;
        }

        // 1.按位加,注意进位
        StringBuilder sb = new StringBuilder();
        int i = 0;
        int sl = s.length();
        // 字符串s的实际下标,从后往前
        int si = sl - 1 - i;
        int tl = t.length();
        // 字符串t的实际下标,从后往前
        int ti = tl - 1 - i;
        // 进位
        int add = 0;
        while (si >= 0 || ti >= 0) {
            // si和ti有一个大于等于0即继续运算
            int sn = 0;
            if (si >= 0) {
                sn = s.charAt(si) - '0';
            }
            int tn = 0;
            if (ti >= 0) {
                tn = t.charAt(ti) - '0';
            }
            // 运算
            int sum = sn + tn + add;
            int res = sum % 10;
            add = sum / 10;
            // 使用StringBuilder的insert方法进行前插 - sb.insert(0, "前插的内容")
            // 使用String的静态方法valueOf进行字符串化(序列化) - String.valueOf(数字)
            sb.insert(0, String.valueOf(res));
            // 更新si和ti
            i++;
            si = sl - 1 - i;
            ti = tl - 1 - i;
        }
        // 此时si和ti全小于0,若进位还有值,则将其加到前面
        if (add > 0) {
            sb.insert(0, String.valueOf(add));
        }
        return sb.toString();
    }
}