Skip to content

Latest commit

 

History

History
71 lines (51 loc) · 1.35 KB

20210519.md

File metadata and controls

71 lines (51 loc) · 1.35 KB

Algorithm

415. Add Strings

Description

Given two non-negative integers, num1 and num2 represented as string, return the sum of num1 and num2 as a string.

You must solve the problem without using any built-in library for handling large integers (such as BigInteger). You must also not convert the inputs to integers directly.

Example 1:

Input: num1 = "11", num2 = "123"
Output: "134"

Example 2:

Input: num1 = "456", num2 = "77"
Output: "533"

Example 3:

Input: num1 = "0", num2 = "0"
Output: "0"

Constraints:

  • 1 <= num1.length, num2.length <= 104
  • num1 and num2 consist of only digits.
  • num1 and num2 don't have any leading zeros except for the zero itself.

Solution

class Solution {
    public String addStrings(String num1, String num2) {
        int i = num1.length()-1;
        int j = num2.length()-1;
        int carry = 0;
        StringBuilder sb = new StringBuilder();
        while(i>=0||j>=0){
            if(i>=0){
                carry += num1.charAt(i--)-'0';
            }
            if(j>=0){
                carry += num2.charAt(j--)-'0';
            }
            sb.append(carry%10);
            carry /= 10;
        }
        sb = carry==0?sb:sb.append("1");
        return sb.reverse().toString();
    }
}

Discuss

Review

Tip

Share