描述
给定两个仅含数字的字符串,你需要返回一个由各个位之和拼接的字符串
A 和 B 是由数字组成的字符串
样例
示例1:
输入:
A = "99"
B = "111"
输出: "11010"
解释: 因为 9 + 1 = 10, 9 + 1 = 10, 0 + 1 = 1,连接之后的结果是 "11010"
示例2:
输入:
A = "2"
B = "321"
输出: "323"
解释: 因为 1 + 2 = 3, 2 + 0 = 2, 3 + 0 = 3,连接之后的结果是 "323"
倒序遍历
class Solution:
"""
@param A: a string
@param B: a string
@return: return the sum of two strings
"""
def SumofTwoStrings(self, A, B):
# write your code here
if len(A) < len(B):
A, B = B, A
# 假设A是较大的那个
res = ""
for i in range(-1,-len(B)-1,-1):
res = str(int(A[i]) + int(B[i])) + res
return A[ : (len(A) - len(B))] + res
class Solution:
"""
@param A: a string
@param B: a string
@return: return the sum of two strings
"""
def SumofTwoStrings(self, A, B):
# write your code here
len_A,len_B = len(A),len(B)
A_index,B_index = len_A - 1, len_B - 1
result = ""
while A_index >= 0 and B_index >= 0:
tmp = ord(A[A_index]) - 2*ord('0') + ord(B[B_index])
result = str(tmp) + result
A_index -= 1
B_index -= 1
if A_index >= 0:
result = A[0:(len_A - len_B)] + result
if B_index >= 0:
result = B[0:(len_B - len_A)] + result
return result