题解 | #大数加法#
大数加法
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 }#大数加法#