Advertisement
1988coder

415. Add Strings

Jan 6th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.99 KB | None | 0 0
  1. // LeetCode URL: https://leetcode.com/problems/add-strings/
  2. /**
  3.  * Time Complexity: O(max(M, N))
  4.  *
  5.  * Space Complexity: O(max(M, N))
  6.  *
  7.  * M = Length of num1 string. N = Length of num2 string.
  8.  */
  9. class Solution {
  10.     public String addStrings(String num1, String num2) {
  11.         if (num1 == null || num2 == null) {
  12.             return "";
  13.         }
  14.         if (num1.length() == 0) {
  15.             return num2;
  16.         }
  17.         if (num2.length() == 0) {
  18.             return num1;
  19.         }
  20.  
  21.         StringBuilder sb = new StringBuilder();
  22.         int i = num1.length() - 1;
  23.         int j = num2.length() - 1;
  24.         int carry = 0;
  25.  
  26.         while (i >= 0 || j >= 0 || carry > 0) {
  27.             int x = i < 0 ? 0 : num1.charAt(i) - '0';
  28.             int y = j < 0 ? 0 : num2.charAt(j) - '0';
  29.             int sum = x + y + carry;
  30.             sb.append(sum % 10);
  31.             carry = sum / 10;
  32.             i--;
  33.             j--;
  34.         }
  35.  
  36.         return sb.reverse().toString();
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement