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

题目以及链接:

1768. 交替合并字符串

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

返回 合并后的字符串 。

示例 1:

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

 拿到题目之后首先分析,两个字符串,要进行合并,并且要交替添加。既然需要用到字符的添加和删除之类的,那么String肯定不行。因为String创建之后就不能更改。自然就想到常用的另外两种StringBuffer,StringBulider。这里博主使用StringBuffer。使用最常见的模拟方法,将word1和word2分别转成StringBuffer,从而对其进行处理,用ans来存储处理完的结果,之后就是两个串交替进行添加,剩下的串再一次性添加。返回时由于要使用String类型,可以使用toString()方法来返回。即可通过

代码如下:

class Solution {
    public String mergeAlternately(String word1, String word2) {
        StringBuffer sb1 = new StringBuffer(word1);
        StringBuffer sb2 = new StringBuffer(word2);
        StringBuffer ans = new StringBuffer();

        int i = 0,j = 0 ;
        int leni = sb1.length(),lenj = sb2.length();
        
        while(i < leni&&j < lenj ) {
            ans.append(sb1.charAt(i));
            ans.append(sb2.charAt(j));
            ++i;
            ++j;
        }

        while(i < leni) ans.append(sb1.charAt(i++));
        while(j < lenj) ans.append(sb2.charAt(j++)); 
        
        
        return ans.toString();
    }
}

posted @   C_Ryson  阅读(34)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示