#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 计算两个数之和
# @param s string字符串 表示第一个整数
# @param t string字符串 表示第二个整数
# @return string字符串
#
class Solution:
    def solve(self , s: str, t: str) -> str:
        # write code here
        if not s:#如果s为0,直接返回t
            return t
        if not t:#如果t为0,直接返回s
            return s

        ans, dec = '', 0#存储结果的字符串,进位标记符
        i, j = len(s)-1, len(t)-1
        while i>=0 or j>=0:#还没有遍历完s、t的所有位数
            ns = s[i] if i>=0 else 0#遍历大数s
            nt = t[j] if j>=0 else 0#遍历大数t
            n =  int(ns)+int(nt)+dec#对当前数位进行加法操作(s、t对应的位数与进位数)
            dec = n//10#看是否需要进位
            ans = str(n%10)+ans#进位后的余数添加到结果字符串
            i -= 1#s、t的下标位处理
            j -= 1
        
        if dec:#如果还有进位,则在大数首位+1
            return '1'+ans
        else:#无进位,直接输出结果
            return ans