[LeetCode] 1768. Merge Strings Alternately

You are given two strings word1 and word2. Merge the strings by adding letters in alternating order, starting with word1. If a string is longer than the other, append the additional letters onto the end of the merged string.

Return the merged string.

Example 1:
Input: word1 = "abc", word2 = "pqr"
Output: "apbqcr"
Explanation: The merged string will be merged as so:
word1: a b c
word2: p q r
merged: a p b q c r

Example 2:
Input: word1 = "ab", word2 = "pqrs"
Output: "apbqrs"
Explanation: Notice that as word2 is longer, "rs" is appended to the end.
word1: a b
word2: p q r s
merged: a p b q r s

Example 3:
Input: word1 = "abcd", word2 = "pq"
Output: "apbqcd"
Explanation: Notice that as word1 is longer, "cd" is appended to the end.
word1: a b c d
word2: p q
merged: a p b q c d

Constraints:
1 <= word1.length, word2.length <= 100
word1 and word2 consist of lowercase English letters.

交替合并字符串。

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

返回 合并后的字符串。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/merge-strings-alternately
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

这道题考察字符串的基本操作。我直接给代码。

复杂度

时间O(m+n) - 需要合并两个字符串
空间O(m+n) - 最后返回的字符串长度

代码

Java实现

class Solution {
public String mergeAlternately(String word1, String word2) {
// corner case
if (word1 == null || word1.length() == 0) {
return word2;
}
if (word2 == null || word2.length() == 0) {
return word1;
}
// normal case
StringBuilder sb = new StringBuilder();
int m = word1.length();
int n = word2.length();
int i = 0;
int j = 0;
while (i < m || j < n) {
if (i < m) {
sb.append(word1.charAt(i++));
}
if (j < n) {
sb.append(word2.charAt(j++));
}
}
return sb.toString();
}
}
posted @   CNoodle  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-10-23 [LeetCode] 88. Merge Sorted Array
2019-10-23 [LeetCode] 283. Move Zeroes
2019-10-23 [LeetCode] 287. Find the Duplicate Number
点击右上角即可分享
微信分享提示