LeetCode 415. Add Strings

原题链接在这里:https://leetcode.com/problems/add-strings/

题目:

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

Note:

  1. The length of both num1 and num2 is < 5100.
  2. Both num1 and num2 contains only digits 0-9.
  3. Both num1 and num2 does not contain any leading zero.
  4. You must not use any built-in BigInteger library or convert the inputs to integer directly.

题解:

两个string的末位相加放到string builder尾部.

Time Complexity: O(n). n是较长string的length.

Space: O(n).

AC Java:

 1 public class Solution {
 2     public String addStrings(String num1, String num2) {
 3         StringBuilder sb = new StringBuilder();
 4         int carry = 0;
 5         int i = num1.length()-1;
 6         int j = num2.length()-1;
 7         while(i>=0 || j>=0 || carry!=0){
 8             carry += (i<0) ? 0 : num1.charAt(i)-'0';
 9             carry += (j<0) ? 0 : num2.charAt(j)-'0';
10             sb.insert(0, carry%10);
11             carry /= 10;
12             i--;
13             j--;
14         }
15         return sb.toString();
16     }
17 }

跟上Multiply Strings.

类似Add Two Numbers IIAdd BinaryPlus One.

posted @ 2016-12-26 09:34  Dylan_Java_NYC  阅读(172)  评论(0编辑  收藏  举报