题解 | #大数加法#

大数加法

https://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 计算两个数之和
 * @param s string字符串 表示第一个整数
 * @param t string字符串 表示第二个整数
 * @return string字符串
*/
func solve(s string, t string) string {
	lens := len(s)
	lent := len(t)
	cap := lens + 1
	if lent > cap {
		cap = lent + 1
	}
	arr := make([]int, cap)
	var num int = '0'
	i, j, k, c := lens-1, lent-1, 0, 0
	for i >= 0 || j >= 0 {
		arr[k] = c
		c = 0 
		if i >= 0 {
			arr[k] += int(s[i]) - num
			i--
		}
		if j >= 0 {
			arr[k] += int(t[j]) - num
			j--
		}
		if arr[k] >= 10 {
			arr[k] -= 10
			c = 1
		}
		k++
	}
	if c > 0 {
		arr[k] = c
		k++
	}

	res := make([]byte, k)
	for i = 0; i < k; i++ {
		res[k-1-i] = byte(arr[i] + num)
	}
	return string(res)
}

全部评论

相关推荐

09-28 18:14
门头沟学院 Java
小肥罗:离谱,那我的简历可以这么写:颜值高大长腿,一张臭嘴不要脸,四只眼瓜子脸,入职不用买保险。
我的秋招日记
点赞 评论 收藏
分享
08-19 17:40
Java
吴offer选手:666 打老板了吗
点赞 评论 收藏
分享
09-01 16:46
已编辑
门头沟学院 Java
mmvvpp:错了!!给了offer之后还有试用期,试用期过了就完事了?错了!还有每个季度的kpi考核,拿一个c就等着被劝退。那我好好干不拿c不就完了?错了!最多三年劳动合同到期,续不续期未知数。每年都有1800w毕业生毕业,今年你是小萌新蜜月期,明年你是老油条,长江后浪推前浪,前浪死在沙滩上。这就是——互联网!
秋招的破防瞬间
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务