题解 | #大数加法#

大数加法

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        StringBuilder sb = new StringBuilder();
        int maxLength = Math.max(s.length(), t.length());
        int jw = 0; // 进位
        for (int i = 0; i < maxLength; i++) {
            int num1 = 0; //字符串s倒数第i位的数字
            int num2 = 0; //字符串t倒数第i位的数字
            if(i<s.length()) {
                num1 = s.charAt(s.length() - i - 1) - '0';
            }
            if(i<t.length()) {
                num2 = t.charAt(t.length() - i - 1) - '0';
            }
            int sum = num1 + num2 + jw;
            jw = sum/10; // 计算进位
            sb.append(sum%10);
        }
        if(jw>0) sb.append(jw); // 如果有进位,则要保存进位
        return sb.reverse().toString();
    }
}
全部评论

相关推荐

10-25 02:13
门头沟学院 C++
_凡_:8.27笔试10.22评估
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务