/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算两个数之和
* @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;
}