package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
func solve(s string, t string) string {
bs1 := []byte(s)
bs2 := []byte(t)
reversal(bs1)
reversal(bs2)
i1 := 0
i2 := 0
var tmp byte = '0'
res := []byte{}
for i1 < len(bs1) && i2 < len(bs2) {
num := (bs1[i1] - '0') + (bs2[i2] - '0') + (tmp - '0')
if num >= 10 {
tmp = '1'
} else {
tmp = '0'
}
res = append(res, num%10+'0')
i1++
i2++
}
if i1 < len(bs1) {
for i := i1; i < len(bs1); i++ {
num := (bs1[i] - '0') + (tmp - '0')
if num >= 10 {
tmp = '1'
} else {
tmp = '0'
}
res = append(res, num%10+'0')
}
}
if i2 < len(bs2) {
for i := i2; i < len(bs2); i++ {
num := (bs2[i] - '0') + (tmp - '0')
if num >= 10 {
tmp = '1'
} else {
tmp = '0'
}
res = append(res, num%10+'0')
}
}
if tmp == '1' {
res = append(res, tmp)
}
reversal(res)
return string(res)
}
func reversal(bs []byte) {
mid := len(bs) / 2
for i := 0; i < mid; i++ {
bs[i], bs[len(bs)-1-i] = bs[len(bs)-1-i], bs[i]
}
}