# 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