问题描述
给你两个字符串word1和word2.请你给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符 串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
返回合并后的字符串。
示例:
输入:word1=’ab’,word2=’pqrs’
输出:’apbqrs’
解决方案
我们可以利用len计算两个字符串长度,再利用if函数判断len(word1)和len(word2)谁长,再通过for循环将两个字符串交叉存储,然后将较长的字符串剩余部分储存,最后返回合并的字符串。
代码清单 1 DFS求解1到100求和问题Python代码
class Solution(object):
def mergeAlternately(self, word1, word2):
W1 ,W2=len(word1) ,len(word2)
hebing=[]
jieguo=””
if W1==w2:
for a in range(0,w1):
hebing . append(word1[a])
hebing . append(word2[a])
elif W1 > W2:
for a in range(0,w2):
hebing. append(word1[a])
hebing . append(word2[a])
for a in range(w2,w1):
hebing. append(word1[a])
else:
for a in range(0,w1):
hebing . append(word1[a])
hebing. append(word2[a])
for a in range(w1,w2):
hebing . append(word2[a])
for b in range(0,w1+w2):
jieguo=jieguo+hebing[b]
return jieguo
结语
这次解决的是字符串的交叉合并,并将剩余部分直接合并在字符串后面。这个解答虽然解决了这个问题,但是写的代码多,繁杂,时间复杂度比较高,希望可以在后续学习中找到更加简便的方法。