网站维护工程师企业网站开发项目策划书基本框架
web/
2025/9/29 4:10:31/
文章来源:
网站维护工程师,企业网站开发项目策划书基本框架,龙岩网络三剑客,沈阳网站网页Leetcode 1768.交替合并字符串
题目描述#xff1a;
给定两个字符串 word1 和 word2#xff0c;以交替的方式将它们合并成一个新的字符串。即#xff0c;第一个字符来自 word1#xff0c;第二个字符来自 word2#xff0c;第三个字符来自 word1#xff0c;依此类推。如果…Leetcode 1768.交替合并字符串
题目描述
给定两个字符串 word1 和 word2以交替的方式将它们合并成一个新的字符串。即第一个字符来自 word1第二个字符来自 word2第三个字符来自 word1依此类推。如果一个字符串的长度不等于另一个字符串剩余的字符应该直接添加到合并后的字符串的末尾。
示例 1:
输入: word1 abc, word2 pqr
输出: apbqcr示例 2:
输入: word1 ab, word2 pqrs
输出: apbqrs示例 3:
输入: word1 abcd, word2 pq
输出: apbqcdd提示:
1 word1.length, word2.length 100word1 和 word2 都只包含小写字母。
Java 实现代码
public class Solution {public String mergeAlternately(String word1, String word2) {StringBuilder result new StringBuilder();int i 0, j 0;// 交替合并while (i word1.length() j word2.length()) {result.append(word1.charAt(i));result.append(word2.charAt(j));}// 如果 word1 还有剩余字符直接添加while (i word1.length()) {result.append(word1.charAt(i));}// 如果 word2 还有剩余字符直接添加while (j word2.length()) {result.append(word2.charAt(j));}return result.toString();}
}解题思路 本题要求交替合并两个字符串可以通过以下步骤来实现 初始化两个指针一个指针分别指向 word1 和 word2 的起始位置。交替合并使用循环交替从 word1 和 word2 中取出字符加入到结果字符串中直到其中一个字符串遍历完。处理剩余字符如果某个字符串未完全遍历完将剩余的字符直接添加到结果中。 具体步骤 创建一个空的字符串 result 用于存储合并的结果。使用两个指针分别遍历 word1 和 word2。当两个字符串都未遍历完时交替地将它们的字符加入 result。如果一个字符串已经遍历完直接将另一个字符串的剩余部分添加到结果中。 复杂度分析 时间复杂度O(m n)其中 m 和 n 分别是 word1 和 word2 的长度因为我们需要遍历两个字符串的所有字符。空间复杂度O(m n)用于存储合并后的结果字符串。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83689.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!