字符串数值相加(Go)

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。

func addStrings(num1 string, num2 string) string {
	nb1, nb2 := []byte(num1), []byte(num2)
	if len(nb1) < len(nb2) {
		nb1, nb2 = nb2, nb1
	}

	sum := byte(0)
	for i, j := len(nb1)-1, len(nb2)-1; i >= 0; i, sum = i-1, sum/10 {
		if j >= 0 {
			sum += nb2[j] - '0'
			j--
		}
		sum += nb1[i] - '0'
		nb1[i] = (sum % 10) + '0'
	}
	if sum != 0 {
		nb1 = append([]byte{'1'}, nb1...)
	}
	return string(nb1)
}

  

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注