题解 | #大数加法#
大数加法
https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
package main
import (
"strconv"
)
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
func solve(s string, t string) string {
// write code here
var result string
// 如果s比t短,交换s和t
if len(s) < len(t) {
temp := s
s = t
t = temp
}
// 进位
j := 0
// 倒叙遍历s
for i := len(s) - 1; i >= 0; i-- {
digitS := int(s[i] - '0')
digitT := 0
//向右对其字符串,避免较短字符越界
if i-len(s)+len(t) >= 0 {
digitT = int(t[i-len(s)+len(t)] - '0')
}
sum := digitT + j + digitS
if sum >= 10 {
j = 1
sum -= 10
} else {
j = 0
}
result = strconv.Itoa(sum) + result
}
if j > 0 {
result = strconv.Itoa(j) + result
}
return result
}
#大数加法#
阿里云成长空间 763人发布