算法随笔_37: 交替合并字符串

news/2025/2/5 2:54:40/

上一篇:算法随笔_36: 复写零-CSDN博客

=====

题目描述如下:

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

返回 合并后的字符串 。

示例 1:

输入:word1 = "abc", word2 = "pqr"
输出:"apbqcr"
解释:字符串合并情况如下所示:
word1:  a   b   c
word2:    p   q   r
合并后:  a p b q c r

=====

算法思路:

题目要求交替添加字母。我们可以用双指针模拟合并字符串的过程。

设p1,p2两个指针,初始值分别指向两个字符串的起始元素。通过在两个字符串之间交替进行枚举访问元素,然后放入新的字符串中。最后把没有枚举完成的字符串合并到新字符串的末尾。

算法时间复杂度为O(m+n) 。m,n分别为两个字符串的长度。下面是代码实现:

class Solution(object):def mergeAlternately(self, word1, word2):""":type word1: str:type word2: str:rtype: str"""res=[]w1_len=len(word1)w2_len=len(word2)p1=0p2=0while p1<w1_len or p2<w2_len:if p1<w1_len:res.append(word1[p1])p1+=1if p2<w2_len:res.append(word2[p2])p2+=1return "".join(res)

 

 

 


http://www.ppmy.cn/news/1569400.html

相关文章

Flutter常用Widget小部件

小部件Widget是一个类&#xff0c;按照继承方式&#xff0c;分为无状态的StatelessWidget和有状态的StatefulWidget。 这里先创建一个简单的无状态的Text小部件。 Text文本Widget 文件&#xff1a;lib/app/app.dart。 import package:flutter/material.dart;class App exte…

Spring 面试题【每日20道】【其二】

1、Spring MVC 具体的工作原理&#xff1f; 中等 Spring MVC 是 Spring 框架的一部分&#xff0c;专门用于构建基于Java的Web应用程序。它采用模型-视图-控制器&#xff08;MVC&#xff09;架构模式&#xff0c;有助于分离应用程序的不同方面&#xff0c;如输入逻辑、业务逻辑…

关于Java的HttpURLConnection重定向问题 响应码303

我有一个Java函数&#xff0c;发送了一个POST请求&#xff0c;并获取响应头的Headers&#xff0c;使用 java.net.http 库能正常运行。 伪代码如下 private static String loginPhone() throws Exception {String url1 "https://api-user.xxx";String data1 Strin…

初始化mysql报错cannot open shared object file: No such file or directory

报错展示 我在初始化msyql的时候报错&#xff1a;mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 解读&#xff1a; libaio包的作用是为了支持同步I/O。对于数据库之类的系统特别重要&#xff0c;因此…

常用的npm镜像源配置方法

常用的npm镜像源配置方法 常用的npm镜像源配置方法一、切换到淘宝镜像源二、切换到腾讯云镜像源三、切换到华为云镜像源四、通过淘宝提供的 cnpm 工具安装包 常用的npm镜像源配置方法 一、切换到淘宝镜像源 配置命令&#xff1a; npm config set registry https://registry.np…

Python中的函数(下)

函数返回值 返回单个值 函数可以通过 return 语句返回一个值。一旦执行到 return 语句&#xff0c;函数就会停止执行&#xff0c;并将指定的值返回给调用者。例如&#xff1a; 返回多个值 实际上&#xff0c;Python函数只能返回一个值&#xff0c;但可以通过返回一个元组来模…

【Elasticsearch】_rollover API详解

解释 POST logs-foo-bar/_rollover 在Elasticsearch中&#xff0c;POST logs-foo-bar/_rollover 是一个API调用&#xff0c;用于触发索引的滚动操作。滚动操作允许您在索引达到一定大小或时间限制时&#xff0c;自动将写入操作切换到一个新的索引&#xff0c;同时保留旧索引的…

智慧城市(城市大脑)建设方案

城市建设面临的挑战 快速发展的城市面临着诸多挑战&#xff0c;如数据壁垒、缺乏数据整合、数据价值挖掘不足&#xff0c;以及应急指挥手段传统等问题。这些问题制约了城市管理的效率和效果&#xff0c;亟待解决。 智慧城市建设背景 在国家治理现代化战略的大背景下&#x…