题解 | #大数加法# go实现
大数加法
http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
go 实现
func solve( s string , t string ) string {
// write code here
ret := "" // 最终的返回值
carry := 0 // 进位
for i, j := len(s)-1, len(t)-1; carry >0 || i>=0 || j>=0; {
m:= 0 // 字符串s当前位表示的数值
if i>=0 {
m = int(s[i] - '0')
i--
}
n := 0 // 字符串t当前位表示的数值
if j>=0 {
n = int(t[j] - '0')
j--
}
var v int
sum := m+n+carry
v, carry = sum%10, sum/10
ret = strconv.Itoa(v) + ret
}
return ret
}
查看1道真题和解析