leetcode 415. Add Strings

Given two non-negative integers 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.
class Solution(object):
    def addStrings(self, num1, num2):
        """
        :type num1: str
        :type num2: str
        :rtype: str
        """
        """
        "1234"+num2
       "99678" num1
       -------
       100912        
        """
        i, j = len(num1)-1, len(num2)-1
        c = 0
        ans = []
        while i>=0 or j>=0 or c>0:
            d1, d2 = 0, 0
            if i>=0:
                d1 = int(num1[i])
                i -= 1
            if j>=0:
                d2 = int(num2[j])
                j -= 1
            s = d1+d2+c
            c = s/10
            ans.append(str(s%10))
        return "".join(ans[::-1])        

 使用if 判断绕过重复的while循环。

猜你喜欢

转载自www.cnblogs.com/bonelee/p/9240932.html
今日推荐