## Description >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. ## Constraints: > `1 <= word1.length, word2.length <= 100` > `word1` and `word2` consist of lowercase English letters. ## Example1 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 ## Example2 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 ## Example3 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 ## Solution 當下直覺的作法,用i來計數,寫while迴圈判斷i有沒有大於兩字串長度,如果沒有那就依序把字串傳入ans裡,回傳ans得到答案。 * Time complexity: O(n) * Space complexity: O(n) ## Code ### C++ ```cpp= class Solution { public: string mergeAlternately(string word1, string word2) { string ans = ""; int i = 0; while(i < word1.length() || i < word2.length()) { if(i < word1.length()) { ans += word1[i]; } if(i < word2.length()) { ans += word2[i]; } count++; } return ans; } }; ``` ### Python3 ```python= class Solution: def mergeAlternately(self, word1: str, word2: str) -> str: ans = [] i = 0 while i < len(word1) or i < len(word2): if i < len(word1): ans.append(word1[i]) if i < len(word2): ans.append(word2[i]) i = i+1 return ''.join(ans) ```