题解 | #大数加法#

大数加法

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

从个位一次相加即可。

注意进位

最终我们用StringBuffer来存储,需要最后再判断一次进位,并将结果翻转。

public String solve (String s, String t) {
    // write code here
    int lenS = s.length(), lenT = t.length();
    int idxS = lenS - 1;
    int idxT = lenT - 1;
    int cint = 0;
    StringBuffer sb = new StringBuffer();
    while(idxS >= 0 || idxT >= 0){
        int a = idxS >= 0 ? s.charAt(idxS) - '0' : 0;
        int b = idxT >= 0 ? t.charAt(idxT) - '0' : 0;
        int sum = a + b + cint;
        if(sum > 9){
            cint = 1;
        }else{
            cint = 0;
        }
        sb.append(sum % 10);
        idxS--;
        idxT--;
    }
    if(cint == 1) sb.append(1);
    return sb.reverse().toString();
}
全部评论

相关推荐

废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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