题目描述:
给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
返回 合并后的字符串 。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/merge-strings-alternately
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路描述:
该题要实现的是字符串的交替合并,不需要去实现一些复杂的移位、换位操作,我们仅仅需要从两个输入字符串的头部开始遍历,然后逐个元素丢入到一个新的空字符串中,即实现了字符串的交替合并。
故首先我们需要获取输入两个字符串的长度,然后给定一个循环控制语句,当两个字符串其中一个字符串的长度大于0时执行运算,然后去判断逐个字符串是否便利完毕,若便利完成则不执行添加操作,反之亦然,最终输出结果。
代码:
import numpy as np class Solution: def mergeAlternately(self, word1: str, word2: str) -> str: # 获取字符串的长度 len_word1 = len(word1) len_word2 = len(word2) # 定义输出字符串 conca_word = '' # 定义遍历下标 i = 0 j = 0 # 控制语句 while (len_word1 > 0 or len_word2 > 0): # 若word1未遍历完 if (len_word1 > 0): conca_word += word1[i] # 若word2未遍历完 if (len_word2 > 0): conca_word += word2[j] # 索引后移 i += 1 j += 1 # 字符串长度前移 len_word1 -= 1 len_word2 -= 1 return conca_word if __name__ == '__main__': conca_word = Solution().mergeAlternately(word1='abcd', word2='pq') print(conca_word)