力扣1768.交替合并字符串

LeetCode每日一题1768. 交替合并字符串 力扣每日一题 阅读详情

交替合并字符串:Java解法详解

来源:交替合并字符串

题目

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

返回 合并后的字符串 。

示例 1:

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

示例 2:

输入:word1 = "ab", word2 = "pqrs"
输出:"apbqrs"
解释:注意,word2 比 word1 长,"rs" 需要追加到合并后字符串的末尾。
word1:  a   b 
word2:    p   q   r   s
合并后:  a p b q   r   s

示例 3:

输入:word1 = "abcd", word2 = "pq"
输出:"apbqcd"
解释:注意,word1 比 word2 长,"cd" 需要追加到合并后字符串的末尾。
word1:  a   b   c   d
word2:    p   q 
合并后:  a p b q c   d

 

提示:

  • 1 <= word1.length, word2.length <= 100
  • word1 和 word2 由小写英文字母组成

详解

将两个字符串 word1 和 word2 交替合并成一个新的字符串。我们将使用 StringBuilder 来提高性能,并使用 charAt 方法来获取字符串中的字符。

思路

  1. 获取字符串长度:首先获取 word1 和 word2 的长度,分别存储在变量 a 和 b 中。

  2. 创建 StringBuilder 对象:创建一个 StringBuilder 对象 sb,用于存储合并后的字符串。使用 StringBuilder 可以提高性能,因为它是可变的,多次修改不会生成新的对象。

  3. 遍历字符串:使用一个 for 循环遍历两个字符串。循环的次数是两个字符串长度中的较大值,即 Math.max(a, b)。

  4. 交替添加字符:

    • 在每次循环中,首先检查当前索引 i 是否小于 word1 的长度 a。如果是,则使用 charAt(i) 方法获取 word1 中的字符,并将其添加到 sb 中。
    • 然后,检查当前索引 i 是否小于 word2 的长度 b。如果是,则使用 charAt(i) 方法获取 word2 中的字符,并将其添加到 sb 中。
  5. 返回结果:循环结束后,将 StringBuilder 对象转换为字符串并返回。

完整代码

public class Solution {
    public String mergeAlternately(String word1, String word2) {
        int a = word1.length();
        int b = word2.length();
        StringBuilder sb = new StringBuilder();
        
        for (int i = 0; i < Math.max(a, b); i++) {
            if (i < a) {
                sb.append(word1.charAt(i));
            }
            if (i < b) {
                sb.append(word2.charAt(i));
            }
        }
        
        return sb.toString();
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        String word1 = "abc";
        String word2 = "defg";
        String result = solution.mergeAlternately(word1, word2);
        System.out.println(result); // 输出 "adbecf"
    }
}

收起

解释

  • 获取长度:int a = word1.length(); 和 int b = word2.length(); 分别获取 word1 和 word2 的长度。
  • StringBuilder:StringBuilder sb = new StringBuilder(); 创建一个 StringBuilder 对象。
  • 循环遍历:for (int i = 0; i < Math.max(a, b); i++) 遍历两个字符串的长度中的较大值次。
  • 交替添加字符:在循环中,使用 charAt(i) 方法获取字符,并使用 sb.append() 方法添加到 StringBuilder 中。
  • 返回结果:return sb.toString(); 将 StringBuilder 转换为字符串并返回。

这个方法能够有效地将两个字符串交替合并,并返回合并后的结果。

 

 

算法创作|交替合并字符串问题解决方法 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。问题描述给你两个字符串word1和word2.请你给你两个字符串word1和word2。请你从w... 阅读详情

相关推荐

DCA决策曲线的解读和代码实现

0.决策曲线 决策曲线分析法(Decision Curve Analysis,DCA)是个与ROC曲线相提并论的相对比较新的模型评价方法。 关于它的原理,长篇大论的医学统计学知识解读实在不是我的强项,放上两个链接偷偷懒: https://www.plob.org/article/12455.html https://www.iikx.com/news/statistics/1622.html 如果想看文章,这篇里的fig7就是:https://www.ncbi.nlm.nih.gov/pmc/artic

weixin_42960896的博客 1万+

1768. 交替合并字符串

给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回合并后的字符串。 示例 1: 输入:word1 = "abc", word2 = "pqr" 输出:"apbqcr" 解释:字符串合并情况如下所示: word1: a b c word2: p q r 合并后: a p b q c r 示例 2: 输入:word1 = "ab"...

allway2的博客 1018

Masta调用Geometry Modeller(Space Claim)进行根据三维模型快速建模设置方法

masta中调用ANSYS的space claim的设置方法

xifegnlie的博客 244

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

依次交替排列字符串!

m0_62946714的博客 448

更换光猫的原理与方法

当你给装维打电话说你需要更换光猫时,对于装维来说,他并不需要知道怎么更换,他只需要生成一张工单,由后台进行业务操作后,在去用户家把新光猫给装好即可,此时装维到底起到了什么作用呢?我想可能只是运输员吧,把一个设备从一个地方运到另一个地方罢了,此时并不能指望装维做什么,因为本质上来说装维的能力真的很差很差,我是不知道那些装维哪来的勇气做视频,还说自己什么什么能力很强?很强吗?吹牛的技术确实很强。 更换光猫之前,需要先明白为什么要更换光猫,怎么更换光猫,更换后不能用怎么办?怎么才能更换成功,换光猫以后被限速了怎么

qq_34146290的博客 1万+

从数据到图片:手把手构建FMCW雷达人体行为识别数据集(行走、跌倒、喝水等6类动作)

本文详细解析了如何利用FMCW雷达构建人体行为识别数据集,涵盖行走、跌倒、喝水等6类动作。通过多普勒特征可视化、图像标准化处理和自动化流水线设计,将原始雷达信号转化为高质量时频图像数据集,为智能家居和健康监护等应用提供可靠数据支持。

weixin_30706691的博客 384

【LeetCode】1768.交替合并字符串

LeetCode 刷题

kezade的blog 499

Docker新手必看:解决‘Unable to find image’错误的完整指南

本文针对Docker新手常见的‘Unable to find image’错误,提供了完整的排查与解决指南。文章深入剖析了权限不足、网络连接失败、Docker服务未运行等核心原因,并给出了将用户加入docker组、配置镜像加速器等实用解决方案,帮助读者彻底理解并解决镜像拉取问题。

weixin_29230901的博客 244

力扣刷题笔记:交替合并字符串 (LeetCode1768) — Java

简单来说,这道题就是要求我们将两个字符串穿插在一起,就像我们上学时期站队一样,原本男生一列,女生一列,可是现在要求我们男女穿插合并成一列,在这个过程中会存在有一列队伍人数比另一列多的情况,多的人自然排在后面就好了。2.就像刚刚说的那样,两个队伍合并之后会成为一个新的队伍,所以两个字符串合并之后成为一个新的字符串,所以我们需要提前创建一个结果字符串,将字符一个一个放进结果字符串。开始,通过交替添加字母来合并字符串。1.因为交替合并是需要一个一个穿插的,在这里我们想到肯定要遍历字符串中的每个字符,所以。

2501_90563889的博客 1037

Transformer模型详解(图解最完整版)

Transformer由论文提出,现在是谷歌云TPU推荐的参考模型。论文相关的Tensorflow的代码可以从GitHub获取,其作为Tensor2Tensor包的一部分。哈佛的NLP团队也实现了一个基于PyTorch的版本,并注释该论文。在本文中,我们将试图把模型简化一点,并逐一介绍里面的核心概念,希望让普通读者也能轻易理解。Transformer 与 RNN 不同,可以比较好地并行训练。

2501_91695094的博客 2702

我用 Claude Code 给 Spring Boot 老项目做了一次代码 Review:查出 4 类隐藏问题

接手 Spring Boot 老项目时,真正麻烦的往往不是编译报错,而是分散在业务代码中的空指针、N+1 查询、异常吞没和并发隐患。本文记录一次使用 Claude Code 辅助代码 Review 的完整流程,并给出提示词、Java 示例、修改方案和人工复核方法。

海波的专栏 399

#力扣LeetCode1768. 交替合并字符串 @FDDLC

题目描述: 1768. 交替合并字符串 - 力扣(LeetCode) (leetcode-cn.com) 自测用例: "abc" "pqr" "ab" "pqrs" "abcd" "pq" Java代码: class Solution { public String mergeAlternately(String sa, String sb) { StringBuilder ans=new StringBuilder(); char[] a=sa

LiuXingchang的博客 441

姿态传感器/陀螺仪之IIS2DLPC 应用驱动程序设计

* 转换为°C单位 (参考温度为25°C,灵敏度为16 LSB/°C) */

corlin6688的博客 220

力扣(LeetCode)1768. 交替合并字符串(C语言)

[墨染] 模拟。双指针。

墨染 1062

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

这段代码的目的是交替合并两个字符串 和 。合并规则是:从 取第一个字符,然后从 取第一个字符,接着从 取第二个,从 取第二个,以此类推。如果其中一个字符串比另一个长,那么在较短的字符串用完后,将较长字符串的剩余部分直接追加到结果的末尾。该算法采用了一种非常直接和高效的 单次遍历 策略,并使用 来高效地构建结果字符串。数据结构选择:核心遍历逻辑返回结果 时空复杂度 设 是 的长度。 设 是 的长度。 时间复杂度:O(M + N) 循环: 循环的执行次数由较长的字符串决定,总共会执行

最短的捷径就是绕远路,绕远路才是我的最短捷径。 1374

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C++描述 LeetCode 1768. 交替合并字符串

C++描述 LeetCode 1768. 交替合并字符串   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 若需联系博主,可以联系本人微信:qiguanjie2015 给你两个字符串 word1 和 word2 。请你从 w

一起加油 3612

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

leetcode力扣每日一题 1768. 交替合并字符串

leetcode力扣每日一题 1768. 交替合并字符串

snoke_的博客 563

力扣刷题笔记——1768.交替合并字符串

【代码】力扣刷题笔记——1768.交替合并字符串。

m0_59127865的博客 177

力扣——编程基础 1768交替合并字符串

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

m0_56222212的博客 462

力扣算法 1768. 交替合并字符串

本文介绍了一种交替合并两个字符串的算法。通过使用双指针分别遍历两个字符串,按顺序交替取字符拼接。当任一字符串遍历完成后,将另一字符串剩余部分直接追加到结果末尾。算法采用StringBuilder高效拼接字符串,时间复杂度为O(m+n),空间复杂度为O(m+n)。关键点在于正确处理字符串长度不一致的情况,确保循环条件使用逻辑或(||)而非逻辑与(&&)。该算法直观高效,适用于需要交替处理两个序列的场景。

草履虫建模的博客 692

1768. 交替合并字符串 力扣 双指针

开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。注意,word2 比 word1 长,"rs" 需要追加到合并后字符串的末尾。注意,word1 比 word2 长,"cd" 需要追加到合并后字符串的末尾。合并后: a p b q r s。合并后: a p b q c d。合并后: a p b q c r。1768. 交替合并字符串。

m0_53291740的博客 368

[ LeetCode 75 ] 1768. 交替合并字符串

给你两个字符串 word1 和 word2。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。输入:word1 = “abc”, word2 = “pqr”合并后: a p b q c r。返回合并后的字符串。输出:“apbqcr”

Eliaukoyx 468

力扣1768. 交替合并字符串

本文介绍了如何交替合并两个字符串,将字符依次拼接,长度不同时将剩余部分追加到末尾。Java解法通过StringBuilder高效构建结果,先比较字符串长度决定循环次数,在循环中交替添加字符,较长字符串的剩余字符直接拼接。时间复杂度O(max(m,n)),空间复杂度O(m+n)。该方法简洁高效地实现了字符串交替合并的功能。

qq_62374596的博客 235

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

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

DataCrafter的博客 515

嗯呐,力扣吧,1768. 交替合并字符串

最近,在搞英语和java对应的框架啥的,都是去看b站的视频,主要是下半年大四了,就要去实习了,所以说再恶补java的框架的知识,在途中,为了跟b站的项目又去学了前端的一些框架,真的,学无止境啊。学了这么长时间突然发现算法也不能拉下,去看了之前做的力扣题,感觉有些题的解题思路已经忘记了,所以说,从今天开始,每天背单词和做一道算法题!加油,朋友们,我会更新每天的力扣算法题,有需要的可以关注我,私信我,给我留言。一起加油吧!!!力扣1768. 交替合并字符串。大概是这么个东西吧。

XiaoLinZuoTi的博客 341

LeetCode每日一题——1768. 交替合并字符串

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

hyk的博客 309
下一篇: 力扣389.找不同
AffectionGF
博客等级 码龄3年 78粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值