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

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

文章目录

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

一、题目

给你两个字符串 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.mzph.cn/bicheng/11031.shtml

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

相关文章

代码随想录算法训练营第四十九天|123.买卖股票的最佳时机III,188.买卖股票的最佳时机IV

目录 123.买卖股票的最佳时机III思路代码 188.买卖股票的最佳时机IV思路代码 123.买卖股票的最佳时机III 题目链接&#xff1a;123.买卖股票的最佳时机III 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;动态规划&#xff0c;股票至多买卖两次&#xff0c;怎么求&#x…

图论专题训练

leecode 547 并查集 class Solution { public:int findCircleNum(vector<vector<int>>& isConnected) {ini();int len isConnected.size();for(int i0;i<len;i){for(int j0;j<len;j)if(isConnected[i][j]){unio(i,j);}}int ans 0;for(int i0;i<len;…

爱分析基于杭州云器Lakehouse实现成本最优的一体化管理,新一代数据平台的建设方式

导读 1.当前&#xff0c;企业在大数据和数据中台建设上取得成果&#xff0c;但数据开发管理仍具挑战性&#xff08;成本、效率、复杂度&#xff09;。 2.随数据平台领域成熟&#xff0c;厂商应结合自身需求&#xff0c;重新思考“基于开源自建数据平台”的重资产模式与“购买…

js: async/await

当你使用 async 关键字定义一个函数时&#xff0c;这个函数会返回一个 Promise。而当你在这个函数内部使用 await 关键字时&#xff0c;你实际上是在“等待”一个 Promise 的解决&#xff08;fulfilled&#xff09;或拒绝&#xff08;rejected&#xff09;。在等待期间&#xf…

Windows环境下编译 aom 源码详细过程

AV1 AV1是一种开源的视频编码格式&#xff0c;由开放媒体联盟&#xff08;AOMedia Video 1&#xff0c;简称AOMedia或AOM&#xff09;开发。AV1旨在提供比现有的视频编码格式如H.264和H.265更好的压缩效率&#xff0c;同时保持或提高视频质量。AV1的编码效率显著高于H.264&…

小猫咪邮件在线发送系统源码,支持添加附件

一款免登录发送邮件&#xff0c;支持发送附件&#xff0c;后台可添加邮箱,前台可选择发送邮箱 网站数据采取本地保存&#xff0c;所以使用前请给网站修改权限&#xff0c;否则很多功能将无法使用 安装教程&#xff1a; 1.上传服务器或者主机 2.登录后台&#xff0c;添加发送…

docker是干嘛的?

Docker是一个开源的平台&#xff0c;用于开发、交付和运行应用程序。它利用容器化技术&#xff0c;将应用程序及其依赖项打包到一个称为容器的可移植容器中。这使得应用程序能够在几乎任何环境中运行&#xff0c;而不受所运行的操作系统和硬件的限制。Docker的主要优点包括&…

MathType永久激活版写毕业论文必备神器以及破解版下载图文教程(附mathtype7镶嵌到word步骤)

前言 由于临近暑假&#xff0c;大学生和研究生都需要写自己的论文。使用的工具叫做MathType&#xff0c;它是加拿大的公司开发的&#xff0c;今天给大家带来的是Win和Mac版Mathtype最新破解版。 自从Mathtype7的发布&#xff0c;很多的老师和学生都不知道它从哪里下载和激活&…

测试萌新三天速通python基础(三)self参数,魔法方法,封装,继承,多态,json

python基础 类和对象⾯向对象代码的步骤类的设计 self 参数魔法⽅法初始化⽅法____init__________str_____ ⽅法 封装继承重写(override)多态对象 属性 方法静态方法文件⽂件操作打开⽂件的⽅式json ⽂件异常 类和对象 类: 是对具有相同特征或者⾏为的事物的⼀个统称, 是抽象的…

社区送水小程序软件开发

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 前端开发:vue.js 可选语言&#xff1a;pythonjavanode.jsphp均支持 运行软件…

vue+springboot项目服务器部署

①创建一台opencloud8的腾讯云服务器 ②用xshell连接服务器 ③vue中新建.env.development配置文件 .env.development: VUE_APP_BASEURLhttp://localhost:9090 .env.production: VUE_APP_BASEURLhttp://服务器ip:9090 ④修改main.js import Vue from vue import App from ./A…

在数据分析中所需要运用到的概率论知识

数据分析 前言一、总体二、样本三、统计抽样抽取的基本准则 四、随机抽样抽签法随机数法 五、分层抽样六、整群抽样七、系统抽样八、统计参数常用的分布函数参数 九、样本统计量十、样本均值和样本方差十一、描述样本集中位置的统计量样本均值样本中位数样本众数 十二、描述样本…

【C++】手搓读写properties文件源码

【C】手搓读写properties文件源码 参考文章 思路 properties文件实际上就是键值对的一种形式&#xff0c;用等号连接键和值。c中和键值对最贴切的就是STL中的map了。所以我使用map作为properties的实际内存存储&#xff0c;同时为了方便使用&#xff0c;另外多一个set类型的字段…

重写muduo之TcpConnection

目录 1、 TcpConnection.h 2、 TcpConnection.cc 1、 TcpConnection.h TcpConnection底层绑定&#xff08;管理&#xff09;了一个Channel&#xff0c;Channel有事件被Poller通知后&#xff0c;会调用相应的回调&#xff0c;这些回调也是TcpConnection中包含的方法&#xff0c…

泰达克仿钻点水晶饰品包装印刷防滑UV胶特性及应用场景

仿钻点UV滴胶是一种特殊的胶水 常用于模拟钻石的效果 它是一种透明的胶水 具有高光泽度和折射率 可以在物体表面形成类似钻石的亮闪效果 仿钻点UV滴胶通常由紫外线固化胶组成 需要通过紫外线照射来固化和硬化 它具有以下特点&#xff1a; 1. 透明度&#xff1a;仿钻点UV滴胶具有…

AndroidStudio中如何配置共享变量,以便于方便配置共享

文章目录 一、定义共享变量二、引入通用配置三、在Module中使用这个通用配置 Android studio Gradle配置通用配置 在使用Android studio Android开发中Gradle通常会遇到很多相同的配置例如在不同的module中都要配置相同的compileSdkVersion、buildToolsVersion等 这时我们可以…

BGP第二篇(bgp邻居状态及影响邻居建立的因素)

1、bgp邻居状态 BGP对等体的交互过程中存在6种状态机&#xff1a; 空闲&#xff08;Idle&#xff09; 连接&#xff08;Connect&#xff09; 活跃 &#xff08;Active&#xff09; Open报文已发送&#xff08;OpenSent&#xff09; Open报文已确认&#xff08;OpenConfirm&…

代码-功能-Python-运用bs4技术爬取汽车之家新闻信息

第三方库安装指令&#xff1a; pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple pip install BeautifulSoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple 运行代码&#xff1a; #这个代码并不完整&#xff0c;有很大的问题&#xff0c;但目前不知道怎么…

docker八大架构之单机架构

单机架构 什么是单机架构&#xff1f; 单机架构指的是应用服务和数据库服务公用同一台服务器。如下边两个图所示&#xff0c;当我们进行购物时&#xff0c;所有的物品信息和用户信息都是在同一个服务器下进行运行的&#xff0c;之所以称为单机架构就是因为它所有的操作是在同…

【JavaScript】深入了解 JavaScript 函数

序言 在 JavaScript 中&#xff0c;函数是一种强大的工具&#xff0c;它允许我们封装代码、实现逻辑复用&#xff0c;并且在需要时进行调用。本文将深入探讨 JavaScript 函数的各个方面&#xff0c;包括定义函数、函数调用、返回值、作用域、参数以及 ES6 中的箭头函数等内容。…