力扣415. 字符串相加

`def addStrings(num1, num2):

#计算进位  carry=tmp//10,代表当前位相加是否产生进位
#添加当前位 计算tmp=n1+n2+carry,并与当前位tmp%10添加至res头部;
#索引溢出处理:当指针i或j走到数字首部后,给n1,n2赋值为0,相当于num1,num2中长度较短的数字前面填0,以便后续计算
#当遍历完num1,num2后跳出循环,并根据carry值决定是否在头部添加1,最终返回res即可
res=""
i,j,carry=len(num1)-1,len(num2)-1,0
while i>=0 or j>=0:
    #如果i不大于0,则直接归0
    n1=int(num1[i]) if i >=0 else 0
    n2=int(num2[j]) if j>=0 else 0
    tmp=n1+n2+carry
    carry=tmp//10
    #注意这里是字符串拼接
    res=str(tmp%10)+res
    i,j=i-1,j-1
return "1"+res if carry else res`
posted @ 2020-08-04 13:35  hisweetyGirl  阅读(130)  评论(0编辑  收藏  举报