题目描述:
给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回合并后的字符串 。
示例:
代码:
class Solution:
def mergeAlternately(self, word1: str, word2: str) -> str:
len1=len(word1)
len2=len(word2)
word3='' #定义空表
if len1==0:
print(word2)
if len2==0:
print(word1)
else:
if len1>len2:
l=len2
for i in range(0,l):
word3+=word1[i]
word3+=word2[i]
word3+=word1[l:len1]
return word3 #直接return,不用print
else:
l=len1
for i in range(0,l):
word3+=word1[i]
word3+=word2[i]
word3+=word2[l:len2]
return word3
官方给出的代码:
class Solution:
def mergeAlternately(self, word1: str, word2: str) -> str:
m, n = len(word1), len(word2)
i = j = 0
ans = list()
while i < m or j < n:
if i < m:
ans.append(word1[i])
i += 1
if j < n:
ans.append(word2[j])
j += 1
return "".join(ans)
总结:
我自己用的是最简单的方法,代码按自己逻辑写的。等我看到官方答案,我才知道原来python的优势我一点都没利用上。append(),join()都完全没想起来。