Leetcode 75——1768.交替合并字符串 解题思路与具体代码【C++】

这篇具有很好参考价值的文章主要介绍了Leetcode 75——1768.交替合并字符串 解题思路与具体代码【C++】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、题目描述与要求

1768. 交替合并字符串 - 力扣(LeetCode)

题目描述

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

返回 合并后的字符串 。

提示:

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

示例

示例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

二、解题思路

根据题目描述,按照顺序将word1和word2进行合并,我们可以采取双指针的方法,也就是定义i和j分别用来访问两个字符串,按照顺序插入新字符串中,然后i++,j++,当有一个字符串访问完时,则将另一个字符串剩下的直接插入新字符串。

先定义合并后的字符串res,获取两个字符串的长度(用于判断是否遍历完),定义“双指针”i和j,设置合并后字符串的长度;

利用while循环判断是否对两个字符串遍历完,没遍历完时将两个字符串的字符依次添加到新字符串后面,遍历完其中一个时则将另一个剩下的元素依次存入字符串;

最后返回res即可。

Leetcode 75——1768.交替合并字符串 解题思路与具体代码【C++】,leetcode刷题,leetcode,算法,c++,数据结构文章来源地址https://www.toymoban.com/news/detail-725166.html


三、具体代码

class Solution {
public:
    string mergeAlternately(string word1, string word2) {
        string res;
        int len1=word1.size();//获取字符串1的长度
        int len2=word2.size();//获取字符串2的长度
        int i=0,j=0;//用于访问两个字符串
        res.reserve(len1+len2);//定义结果字符串长度
        while(i<len1||j<len2){
            if(i<len1){
                res.push_back(word1[i]);
                i++;
            }
            if(j<len2){
                res.push_back(word2[j]);
                j++;
            }
        }
        return res;
    }
};

到了这里,关于Leetcode 75——1768.交替合并字符串 解题思路与具体代码【C++】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 将两个字符串合并为一个字符串并且输出(二)

    在这个示例中,我们定义了三个字符数组变量 str1 、 str2 和 result ,分别用于存储第一个字符串、第二个字符串和合并后的结果字符串。 我们首先使用 strcpy 函数将第一个字符串复制到结果字符串中,然后使用 strcat 函数将第二个字符串追加到结果字符串的末尾。 最后,我们

    2024年02月12日
    浏览(47)
  • 华为OD机试真题 Java 实现【挑选字符串】【2023 B卷 100分】,附详细解题思路

    本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。 刷的越多,抽中的概率越大 ,每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。 专栏福利 :限时订

    2024年02月16日
    浏览(47)
  • ( 字符串) 205. 同构字符串 ——【Leetcode每日一题】

    难度:简单 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个

    2024年02月02日
    浏览(54)
  • 华为OD机试真题 Java 实现【字符串序列判定】【2022Q4 100分】,附详细解题思路

    输入两个字符串a和b,都只包含英文小写字母。 a长度=100,b长度=500,000 。 判定a是否是b的有效子串。 判定规则: a中的每个字符在b中都能找到(可以不连续),且a在b中字符的前后顺序与a中顺序要保持一致。 (例如, a=”qwt” 是 b=”qwerty” 的一个子序列且有效字符是q、w、

    2024年02月08日
    浏览(43)
  • LeetCode_字符串_简单_415.字符串相加

    给定两个字符串形式的非负整数 num1 和num2,计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。 示例 1: 输入:num1 = “11”, num2 = “123” 输出:“134” 示例 2: 输入:num1 = “

    2024年02月01日
    浏览(43)
  • 【SQL相关】Hive行列字符串的合并与拆分

    目录 一、行方向 1. 行方向的合并 1.1 concat 函数 1.2 concat_ws 函数 2. 行方向的拆分 二、列方向 1. 列方向的合并 1.1 group_concat 函数 1.2 collect_list 函数 1.3 collect_set 函数 2. 列方向的拆分 2.1 explode 函数 2.2 lateral view 1. 行方向的合并 将同一行某几列的数据以分隔符分隔,合并到同一列

    2024年04月14日
    浏览(49)
  • (字符串 ) 459. 重复的子字符串——【Leetcode每日一题】

    难度:简单 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s = “abab” 输出: true 解释: 可由子串 “ab” 重复两次构成。 示例 2: 输入: s = “aba” 输出: false 示例 3: 输入: s = “abcabcabcabc” 输出: true 解释: 可由子串 “abc” 重复四次构

    2024年02月07日
    浏览(47)
  • LeetCode 2788.按分隔符拆分字符串:模拟(字符串处理)

    力扣题目链接:https://leetcode.cn/problems/split-strings-by-separator/ 给你一个字符串数组 words 和一个字符 separator ,请你按 separator 拆分 words 中的每个字符串。 返回一个由拆分后的新字符串组成的字符串数组, 不包括空字符串 。 注意 separator 用于决定拆分发生的位置,但它不包含在

    2024年01月21日
    浏览(58)
  • (字符串) 844. 比较含退格的字符串——【Leetcode每日一题】

    难度:简单 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。 # 代表退格字符。 注意 :如果对空文本输入退格字符,文本继续为空。 示例 1: 输入:s = “ab#c”, t = “ad#c” 输出:true 解释:s 和 t 都会变成 “ac”。 示例 2: 输入

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包