Given two non-negative numbers
num1
and
num2
represented as string, return the sum of
num1
and
num2
.
Note:
- The length of both
andnum1
is < 5100.num2
- Both
andnum1
contains only digitsnum2
.0-9
- Both
andnum1
does not contain any leading zero.num2
- 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))