Leetcode第1768题:交替合并字符串(Merge Strings Alternately)
解题思路:
使用两个指针i
和j
分别指向两个字符串首位。循环中一次进行如下判断及操作:
- 如果
i
没有超出word1
的长度,就将word[i]
加入返回结果中。然后i指针后移一位。 - 如果
j
没有超出word2
的长度,就将word[j]
加入返回结果中。然后j指针后移一位。
当指针i
和j
都超出对应字符串的长度后,结束循环然后返回结果。
核心代码如下:
string mergeAlternately(string word1, string word2) { // cout << word1.size() << endl; int len1 = word1.size(); int len2 = word2.size(); int i = 0, j = 0; string res; 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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?