Given two non-negative numbers num1 and num2 represented as string, return the sum of num1 and num2.
Note: The length of both num1 and num2 is < 5100. Both num1 and num2 contains only digits 0-9. Both num1 and num2 does not contain any leading zero. You must not use any built-in BigInteger library or convert the inputs to integer directly.
Subscribe to see which companies asked this question
這個簡直很直白,最後一行注釋掉的是好用的python的整數類型
總感覺程式哪裡寫的有點兒醜~~~
class Solution(object): def addStrings(self, num1, num2): l1 = len(num1) l2 = len(num2) lmin = min(l1,l2) lmax = max(l1,l2) res = [0] * (lmax+1) #print res for i in xrange(1,lmin+1): res[-i] = int(num1[-i]) + int(num2[-i]) #print i,res if l1 > l2: for i in xrange(lmin+1,lmax+1): res[-i] = int(num1[-i]) else: for i in xrange(lmin+1,lmax+1): res[-i] = int(num2[-i]) for i in xrange(1,lmax+1): if res[-i] > 9: res[-i] -= 10 res[-i-1] += 1 rres = '' for i in res: rres += str(i) if rres[0] == '0': rres = rres[1:] return rres #return str(int(num1) + int(num2))