与2个链表相加的题是一个思路
时间复杂度:O(n+m),n,m为两个字符串的长度,因为需要遍历两个字符串,所以时间复杂度为O(n+m);
空间复杂度:O(n),n为两个字符串中长的那个字符串的长度,需要使用额外的n空间来保存计算结果。

import java.util.*;


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

        Stack<Integer> stack = new Stack<>();

        StringBuilder sb = new StringBuilder();

        int sLenIndex = s.length() - 1;

        int tLenIndex = t.length() - 1;

        int jinwei = 0;

        while (sLenIndex >= 0 || tLenIndex >= 0 || jinwei != 0) {

            if (sLenIndex >= 0) {
                char a = s.charAt(sLenIndex);
                String a1 = String.valueOf(a);
                int a2 = Integer.parseInt(a1);
                jinwei += a2;
                sLenIndex--;
            }

            if (tLenIndex >= 0) {
                char b = t.charAt(tLenIndex);
                String b1 = String.valueOf(b);
                int b2 = Integer.parseInt(b1);
                jinwei += b2;
                tLenIndex --;
            }

            stack.push(jinwei % 10);
            jinwei = jinwei / 10;
        }

        while (!stack.isEmpty()) {
            sb.append(stack.pop());
        }

        return sb.toString();
    }
}