【[LeetCode每日一题】Leetcode 1768.交替合并字符串

news/2024/12/14 14:35:00/

Leetcode 1768.交替合并字符串

题目描述:

给定两个字符串 word1word2,以交替的方式将它们合并成一个新的字符串。即,第一个字符来自 word1,第二个字符来自 word2,第三个字符来自 word1,依此类推。如果一个字符串的长度不等于另一个字符串,剩余的字符应该直接添加到合并后的字符串的末尾。

示例 1:

输入: word1 = "abc", word2 = "pqr"
输出: "apbqcr"

示例 2:

输入: word1 = "ab", word2 = "pqrs"
输出: "apbqrs"

示例 3:

输入: word1 = "abcd", word2 = "pq"
输出: "apbqcdd"

提示:

  • 1 <= word1.length, word2.length <= 100
  • word1word2 都只包含小写字母。

Java 实现代码

public class Solution {public String mergeAlternately(String word1, String word2) {StringBuilder result = new StringBuilder();int i = 0, j = 0;// 交替合并while (i < word1.length() && j < word2.length()) {result.append(word1.charAt(i++));result.append(word2.charAt(j++));}// 如果 word1 还有剩余字符,直接添加while (i < word1.length()) {result.append(word1.charAt(i++));}// 如果 word2 还有剩余字符,直接添加while (j < word2.length()) {result.append(word2.charAt(j++));}return result.toString();}
}

解题思路:

本题要求交替合并两个字符串,可以通过以下步骤来实现:

  1. 初始化两个指针:一个指针分别指向 word1word2 的起始位置。
  2. 交替合并:使用循环交替从 word1word2 中取出字符加入到结果字符串中,直到其中一个字符串遍历完。
  3. 处理剩余字符:如果某个字符串未完全遍历完,将剩余的字符直接添加到结果中。

具体步骤

  • 创建一个空的字符串 result 用于存储合并的结果。
  • 使用两个指针分别遍历 word1word2
  • 当两个字符串都未遍历完时,交替地将它们的字符加入 result
  • 如果一个字符串已经遍历完,直接将另一个字符串的剩余部分添加到结果中。

复杂度分析:

  • 时间复杂度:O(m + n),其中 mn 分别是 word1word2 的长度,因为我们需要遍历两个字符串的所有字符。
  • 空间复杂度:O(m + n),用于存储合并后的结果字符串。

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

相关文章

pdf merge

在 Ubuntu 22.04 上&#xff0c;你可以使用以下命令行工具来合并多个 PDF 文件&#xff1a; 1. pdftk pdftk 是一个强大的 PDF 工具&#xff0c;支持合并、拆分和其他操作。安装和使用方法如下&#xff1a; sudo apt install pdftk pdftk file1.pdf file2.pdf cat output me…

《负载均衡与 Tomcat:实现高可用和高性能的 Web 应用》

一、引言 在现代互联网应用中&#xff0c;高可用性和高性能是至关重要的。随着用户数量的不断增加和业务的不断扩展&#xff0c;单个服务器往往无法满足需求。负载均衡技术应运而生&#xff0c;它可以将请求分发到多个服务器上&#xff0c;从而提高系统的整体性能和可用性。Tom…

ArcGIS MultiPatch数据转换Obj数据

文章目录 ArcGIS MultiPatch数据转换Obj数据1 效果2 技术路线2.1 Multipatch To Collada2.2 Collada To Obj3 代码实现4 附录4.1 环境4.2 一些坑ArcGIS MultiPatch数据转换Obj数据 1 效果 2 技术路线 MultiPatch --MultipatchToCollada–> Collada --Assimp–> Obj 2.…

虚幻引擎内各个组件的关系

1. GameMode: 关系: GameMode 是游戏规则的制定者和管理者,GameState 则是游戏状态的记录者和同步者。GameMode 通常负责创建和初始化 GameState。 交互: GameMode 可以直接访问和修改 GameState 的属性,例如更新游戏分数、切换游戏阶段等。GameState 的变化会通过 GameMode …

51c~Pytorch~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/11878447 一、PyTorch与torch-xla的桥接 文章从XLATensor开始的溯源、注册PyTorch库实现、从PyTorch调用到torch_xla三个方面来介绍PyTorch与torch-xla的桥接 XLA (Accelerated Linear Algebra)是一个开源的机器学习编…

使用html 和JavaScript 实现一个点餐系统

1.完整的点餐系统页面 2. 主要功能和改进&#xff1a; 菜单管理: 上架和下架菜品的功能正常工作。新增菜品和修改菜品信息的功能正常工作。 购物车模块: 在总价后面增加了“会员价”一栏&#xff0c;展示每个菜品在会员折扣下的总价。结算时根据是否是会员来计算相应的总金额&…

NDN命名数据网络和域名的区别

NDN(Named Data Networking)网络的概念 NDN是一种新型的网络架构,也被称为命名数据网络。与传统的以IP地址为中心的网络架构不同,NDN是以数据(内容)本身命名为中心的网络架构。在传统网络中,我们通过IP地址来寻找主机设备,然后获取该设备上存储的内容。而在NDN网络中,…

SQL去重查询C++ 中面向对象编程如何实现数据隐藏?C++ 中面向对象编程如何处理异常?Pimpl模式

SQL2 查询多列 select device_id,gender,age,university from user_profile; SQL3 查询结果去重 select distinct university from user_profile; select university from user_profile group by university; C 中面向对象编程如何实现数据隐藏&#xff1f; 使用访问控制修饰…