1768. Merge Strings Alternately
🟩 Easy
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
andword2
consist of lowercase English letters.
Hint-1
Use two pointers, one pointer for each string. Alternately choose the character from each pointer, and move the pointer upwards.
Solution
My Solution
func mergeAlternately(word1 string, word2 string) string {
s := strings.Builder{}
m :=min(len(word1),len(word2))
i:=0
for i<m {
s.WriteByte(word1[i])
s.WriteByte(word2[i])
i++
}
for i<len(word1) {
s.WriteByte(word1[i])
i++
}
for i<len(word2) {
s.WriteByte(word2[i])
i++
}
return s.String()
}

Leetcode: link
Last updated
Was this helpful?