---
# System prepended metadata

title: LC 1768. Merge Strings Alternately
tags: [easy, leedcode, python]

---

# LC 1768. Merge Strings Alternately

### [Problem link](https://leetcode.com/problems/merge-strings-alternately/)

###### tags: `leedcode` `python` `easy`

You are given two strings <code>word1</code> and <code>word2</code>. Merge the strings by adding letters in alternating order, starting with <code>word1</code>. 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:** 

- <code>1 <= word1.length, word2.length <= 100</code>
- <code>word1</code> and <code>word2</code> consist of lowercase English letters.


## Solution 1
```python=
class Solution:
    def mergeAlternately(self, word1: str, word2: str) -> str:
        idx = 0
        res = ""

        while idx != len(word1) and idx != len(word2):
            res += word1[idx]
            res += word2[idx]
            idx += 1

        res += word1[idx:]
        res += word2[idx:]

        return res
```

>### Complexity
>m = word1.length
>n = word2.length
>|             | Time Complexity | Space Complexity |
>| ----------- | --------------- | ---------------- |
>| Solution 1  | O(m+n)          | O(m+n)           |

## Note
x
