Big Integer Addition

这题简单是简单,但是属于要仔细处理case的题目,下面这个代码可以当模板了

class Solution:
    # @param {string} num1 a non-negative integers
    # @param {string} num2 a non-negative integers
    # @return {string} return sum of num1 and num2
    def addStrings(self, num1, num2):
        # Write your code here
        n, m = len(num1) - 1, len(num2) - 1
        step = 0
        res = ''
        while n >= 0 and m >= 0:
            tmp = ord(num1[n]) + ord(num2[m]) - 2 * ord('0')
            step, div = divmod(tmp + step, 10)
            res = str(div) + res
            n -= 1
            m -= 1

        while n >= 0:
            tmp = ord(num1[n]) - ord('0')
            step, div = divmod(tmp + step, 10)
            res = str(div) + res
            n -= 1

        while m >= 0:
            tmp = ord(num2[m]) - ord('0')
            step, div = divmod(tmp + step, 10)
            res = str(div) + res
            m -= 1

        return res if step == 0 else '1' + res

results matching ""

    No results matching ""