题解 | #大数加法#

大数加法

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public string solve (string s, string t){
        //保证s最长
        if(t.Length > s.Length){
            string mid = s;
            s = t;
            t = mid;
        }
        int pre = 0;
        int cur = 0;
        int i = 0;
        StringBuilder sb = new StringBuilder(s);
        for(; i < t.Length; i++){
            cur = s[s.Length - 1 - i] - '0' + (int)t[t.Length - 1 - i] -'0' + pre;
            sb[s.Length - 1 - i] = (char)('0' + cur % 10);
            pre = cur / 10;
        }
        while(pre == 1){
            if(i == s.Length){
                sb.Insert(0, '1');
                break;
            }
            cur = s[s.Length - 1 - i] - '0' + 1;
            sb[s.Length - 1 - i] =  (char)('0' + cur % 10);
            pre = cur / 10;
            i++;
        }
        return sb.ToString();
    }
}

全部评论

相关推荐

牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务