/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 计算两个数之和
 * @param s string字符串 表示第一个整数
 * @param t string字符串 表示第二个整数
 * @return string字符串
 */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int max(int a, int b) {
    return a > b ? a : b;
}

char* solve(char* s, char* t ) {
    // write code here
    int a[100005] = {0}, b[100005] = {0}, c[100005] = {0};
    char *d=(char *)malloc(sizeof(char)*100005);
    int len1 = strlen(s);
    int len2 = strlen(t);
    for (int i = 0; i < len1; i++) {
        a[i] = s[len1 - i - 1] - '0';
    }
    for (int i = 0; i < len2; i++) {
        b[i] = t[len2 - i - 1] - '0';
    }
    int carry = 0;
    int len = max(len1, len2);
    for (int i = 0; i < len; i++) {
        c[i] = a[i] + b[i] + carry;
        carry = c[i] / 10;
        c[i] = c[i] % 10;
    }
    if (carry != 0) {
        c[len] = carry;
        len++;
    }
    int j=0;
    for (int i = len - 1; i >= 0; i--,j++) {
        d[j]=c[i]+'0';
    }
    d[j] = '\0';
    return d;
}