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

news2024/9/24 11:21:21

提示:此文章仅作为本人记录日常学习使用,若有存在错误或者不严谨得地方欢迎指正。

文章目录

  • 一、题目
  • 二、思路
  • 三、解决方案

一、题目

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

二、思路

分别使用两个指针word1_position和word2_position来指向word1和word2字符串的首个字符,然后通过StringBuilder组合成最终的结果。当word1_position指针没有超出word1的范围时,就通过charAt()获取word1的首个字符,然后将其添加至StringBuilder对象answer中,然后让word1_position指针移动到下一位。对word2执行相同的操作即可得到最终的答案,然后将StringBuilder类型的answer通过toString()方法转换成字符串类型返回即可。

三、解决方案

语言:Java
执行耗时:1 ms
内存消耗:40.8 MB

class Solution {
    public String mergeAlternately(String word1, String word2) {
        int word1_length = word1.length();
        int word2_length = word2.length();
        int word1_position = 0;
        int word2_position = 0;
        StringBuilder answer = new StringBuilder();
		
		// 当word1和word2的指针没有超出word1和word2的范围时
        while (word1_position < word1_length || word2_position < word2_length) {
        	// 获取word1的首个字符然后拼接到answer中 让word1的指针移动到下一个字符
            if (word1_position < word1_length) {
                char ch = word1.charAt(word1_position);
                answer.append(ch);
                word1_position++;
            }
            // 获取word2的首个字符然后拼接到answer中 让word2的指针移动到下一个字符
            if (word2_position < word2_length) {
                char ch = word2.charAt(word2_position);
                answer.append(ch);
                word2_position++;
            }
        }
        // 将StringBuilder转型为String类型返回
        return answer.toString();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1644975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构-二叉树-二叉搜索树

一、概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左树上所有节点的值都小于根节点的值。 若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值。 它…

Transformer 解析 超级详细版

推荐学习视频 汉语自然语言处理-从零解读碾压循环神经网络的transformer模型(一)- 注意力机制-位置编码-attention is all you need_哔哩哔哩_bilibili 目录 首先下transformer和LSTM的最大区别是什么&#xff1f; 1.positional \ encoding, 即位置嵌入(或位置编码); 2 自注…

软考-系统集成项目管理中级--常见计算题考点汇总

1、决策树和期望货币价值(决策树、表)---风险管理 很简单的题目&#xff0c;如下题目我们不再讲解。相信大家听了基础课都会做如果不会做&#xff0c;建议再听下基础课。 有点难度的题目&#xff0c;请大家先做&#xff0c;如果有疑问&#xff0c;可以听课&#xff08;课程私信…

力扣:931. 下降路径最小和

931. 下降路径最小和 给你一个 n x n 的 方形 整数数组 matrix &#xff0c;请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始&#xff0c;并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列&#xff08;即…

全新神经网络架构KAN一夜爆火!

一种全新的神经网络架构KAN&#xff0c;诞生了&#xff01; 与传统的MLP架构截然不同&#xff0c;且能用更少的参数在数学、物理问题上取得更高精度。 比如&#xff0c;200个参数的KANs&#xff0c;就能复现DeepMind用30万参数的MLPs发现数学定理研究。 不仅准确性更高&#…

smardatenR5C40无代码新版本正式发布!附功能详解

smardatenR5C40新特性在25日晚直播发布&#xff0c;新版本上线了两大全新功能&#xff0c;对四大已有能力进行了增强&#xff01;没来得及参与的宝子们可以在“数睿数据视频号”中查看直播回放。 往下看具体详解&#xff0c;这些功能正被你所需要 一、全新能力发布 01数据报表…

图像识别——玩转YOLO网络

图像识别——玩转YOLO网络 YOLO&#xff0c;全称“You Only Look Once”&#xff0c;意为你只需要看一次&#xff0c;是一种快速、准确的目标检测算法。它由Joseph Redmon等人在2016年提出&#xff0c;其核心思想是将输入图像划分为SS个网格单元&#xff0c;每个网格预测B个边…

Day19 代码随想录打卡|字符串篇---反转字符串II

题目&#xff08;leecode T541&#xff09;&#xff1a; 给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起&#xff0c;每计数至 2k 个字符&#xff0c;就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个&#xff0c;则将剩余字符全部反转。如果剩余字符小…

现代信号处理8_递归的最小二乘(CSDN_20240505)

递归的最小二乘大约出现在50年前。递归&#xff0c;就是在已经算出的结果的基础下&#xff0c;当新的数据到来时&#xff0c;不需要再对数据进行一次完整的运算&#xff0c;而是在已有结果的基础上做一些简单的调整&#xff0c;就能得到新的结果。使用递归的好处&#xff1a; …

矩阵式键盘的控制

键盘扫描是最 为常用的工作方式&#xff0c;扫描方式又可分为程序程扫描、定时扫描和中断扫描。程序扫描是指在 特定的程序位置段上安排键盘扫描程序读取键盘状态。定时扫描是指利用单片机内部或扩展 的定时器产生定时中断&#xff0c;在中断中进行键盘扫描的工作方式。中断扫描…

2024年第二十六届“华东杯”(B题)大学生数学建模挑战赛|数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 让我们来看看华东杯 (B题&#xff09;&#xff01; 第一个问题…

链表经典面试题02--链表的带环问题

目录 引言 环形链表 题目描述: 思路分析: 代码展示: 面试中遇到的问题: 环形链表Ⅱ 题目描述: 思路分析: 代码展示: 面试中遇到的问题: 方法二: 随机链表的复制 题目描述: 思路分析: 代码展示: 小结 引言 这个专题专门讲解链表的带环问题,并且对面试有关链表带环…

华中科技大学雷达站部署

一&#xff1a;项目地址 GitHub - HUSTLYRM/HUST_Radar_2023: 华中科技大学狼牙战队 RoboMaster 2023赛季 雷达站 二&#xff1a;安装依赖 2.1创建虚拟环境 首先是程序是基于python3.8完成&#xff0c;所以创建虚拟环境的时候&#xff0c;选择3.8的虚拟环境 conda create -…

【Linux】详解用户态和内核态内核中信号被处理的时机sigaction信号自定义处理方法

一、用户态和内核态的理解 在操作系统中&#xff0c;用户态和内核态是两种主要的执行模式&#xff0c;它们代表了不同的访问级别和权限&#xff0c;用于确保系统的安全和稳定性。 1.1、用户态 用户态是操作系统中用户进程的运行状态。在这种状态下&#xff0c;进程只能访问受限…

天锐绿盾 | 如何保护企业数据安全?

天锐绿盾为企业数据安全提供了一系列综合性的保护措施&#xff0c;确保数据在存储、处理、传输等各个环节的安全性。 PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 具体措施包括&#xff1a; 文件透明加密&#xff1a;采…

病毒防护的基础知识

目录 1.震网病毒Stuxnet是蠕虫病毒 2.宏病毒Macro virus 3.X卧底Phishing 4.钓鱼网站 5.病毒类型 1.震网病毒Stuxnet是蠕虫病毒 Stuxnet蠕虫病毒&#xff08;超级工厂病毒&#xff09;是世界上首个专门针对工业控制系统编写的破坏性病毒&#xff0c;能够利用对windows系统…

菜鸟跟着一起学如何批量修改文件日期时间属性 (创建、修改、访问时间)

需求&#xff1a;批量修改指定文件夹下的文件的创建时间、修改时间和访问时间 工具&#xff1a;【汇帮元数据编辑器】和【汇帮批量重命名】 文件一般有三个时间属性&#xff0c;分别是创建时间、修改时间和访问时间&#xff0c;如果你从别的地方拷贝的文件&#xff0c;创建时…

【手撸RPC框架】netty入门

&#x1f43c;作者简介&#xff1a;一名大三在校生&#x1f38b; 空有想法&#xff0c;没有实践&#xff0c;难成大事 专栏前言&#xff1a;探索RPC框架的奥秘 简介&#xff1a;在现代软件开发中&#xff0c;随着微服务架构的普及&#xff0c;远程过程调用&#xff08;RPC&…

全网最全!场外个股期权和场内个股期权的区别的详细解析

场外个股期权和场内个股期权的区别 场外个股期权是指在沪深交易所之外交易的个股期权&#xff0c;其本质是一种金融衍生品&#xff0c;允许投资者在股票交易场所外以特定价格买进或卖出证券。场内个股期权是以单只股票作为标的资产的期权合约&#xff0c;其内在价值是基于标的…

编程入门(六)【Linux系统基础操作一】

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 文章目录 &#x1f525;前言&#x1f680;Linux操作系统介绍与环境准备Linux操作系统介…