前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法创作|交替合并字符串问题解决方法

算法创作|交替合并字符串问题解决方法

作者头像
算法与编程之美
发布2021-03-30 14:49:10
5490
发布2021-03-30 14:49:10
举报

问题描述

给你两个字符串word1和word2.请你给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符 串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。

返回合并后的字符串。

示例:

输入:word1=’ab’,word2=’pqrs’

输出:’apbqrs’

解决方案

我们可以利用len计算两个字符串长度,再利用if函数判断len(word1)和len(word2)谁长,再通过for循环将两个字符串交叉存储,然后将较长的字符串剩余部分储存,最后返回合并的字符串。

代码清单 1 DFS求解1到100求和问题Python代码

代码语言:javascript
复制
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

结语

这次解决的是字符串的交叉合并,并将剩余部分直接合并在字符串后面。这个解答虽然解决了这个问题,但是写的代码多,繁杂,时间复杂度比较高,希望可以在后续学习中找到更加简便的方法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档