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

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务