⭐️
# 題目敘述
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
# 程式碼
class Solution { | |
public: | |
string mergeAlternately(string word1, string word2) { | |
string res = ""; | |
int m = word1.size(), n = word2.size(); | |
int i = 0, j = 0; | |
while (i < m && j < n) { | |
res += word1[i]; | |
i++; | |
res += word2[j]; | |
j++; | |
} | |
if (i != m) { | |
for (; i<m; i++) res += word1[i]; | |
} else { | |
for (; j<n; j++) res += word2[j]; | |
} | |
return res; | |
} | |
}; |
class Solution: | |
def mergeAlternately(self, word1: str, word2: str) -> str: | |
m, n = len(word1), len(word2) | |
res = "" | |
i, j = 0, 0 | |
while i < m and j < n: | |
res += word1[i] | |
i += 1 | |
res += word2[j] | |
j += 1 | |
if i != m: | |
while i < m: | |
res += word1[i] | |
i += 1 | |
else : | |
while j < n: | |
res += word2[j] | |
j += 1 | |
return res |
class Solution { | |
public String mergeAlternately(String word1, String word2) { | |
String res = ""; | |
int m = word1.length(), n = word2.length(); | |
int i = 0, j = 0; | |
while (i < m && j < n) { | |
res += word1.charAt(i); | |
i++; | |
res += word2.charAt(j); | |
j++; | |
} | |
if (i != m) { | |
for (; i <m; i++) res += word1.charAt(i); | |
} else { | |
for (; j<n; j++) res += word2.charAt(j); | |
} | |
return res; | |
} | |
} |