415. 字符串相加 俩个指针模拟加法注意进位

  415. 字符串相加 俩个指针模拟加法注意进位

博客地址https://www.b2bchain.cn/6376.html 

class Solution {
    public String addStrings(String num1, String num2) {
        StringBuilder sb=new StringBuilder();
        //使用俩个指针模拟加法操作
        int i=num1.length()-1;
        int j=num2.length()-1;

        int carry=0;

        //大于等于
        while(i>=0 || j>=0){
            int n1 = i >= 0 ? num1.charAt(i) - '0' : 0;
            int n2 = j >= 0 ? num2.charAt(j) - '0' : 0;
            int tmp = n1 + n2 + carry;
            carry = tmp / 10;
            sb.append(tmp % 10);
            i--; j--;

        }
       if(carry==1) sb.append(carry);
        //需要反转一下
        return sb.reverse().toString();
    }
}

 

你可能感兴趣的:(LeetCode-Java,415.,字符串相加,俩个指针模拟加法注意进位,java)