付費限定

交叉合併字串 Merge Strings Alternately_Leetcode 精選75題解析

閱讀時間約 5 分鐘

題目敘述

題目會給定我們兩個輸入字串word1, word2,要求我們依照word1,word2,word1,word2, ... 交叉前進的方式,合併兩個字串,作為輸出。

題目的原文敘述


測試範例

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, word2字串長度介於1 ~ 100個字元之間。

  • word1 and word2 consist of lowercase English letters.

word1, word2都只會有英文小寫字母。


演算法

建立一個空陣列[]最為暫存buffer,讓word1, word2 依序交叉前進,把每個字元放入這個buffer。

最後,把buffer內的字元合併以字串的形式輸出即可。


程式碼

class Solution:
def mergeAlternately(self, word1: str, word2: str) -> str:

a, b =0, 0

res = []
while a < len(word1) or b < len(word2):
if a < len(word1):
res.append( word1[a] )
a += 1
if b < len(word2):
res.append( word2[b] )
b += 1

return "".join(res)

額外補充,當我們要把某個容器內的字串作合併輸出時,常常使用"".join( ...容器...)這個語法。

Python official docs about str.join( )


另解,假如已經比較熟悉Python內建函數庫的同學,也可以使用zip搭配generator生成器來依序合併兩個字串。

以行動支持創作者!付費即可解鎖
本篇內容共 2124 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
85會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
發表第一個留言支持創作者!
題目敘述 題目會給我們兩個輸入,字串s和字串t,要求我們判定s是否為t的子序列(Subsequence)? 題目的原文敘述 測試範例 Example 1: Input: s = "abc", t = "ahbgdc" Output: true Example 2: Input:
題目敘述 題目會給定兩個輸入。 第一個輸入是關鍵字清單products,第二個是使用者輸入的字串searchWord。 要求我們實現關鍵字搜尋建議系統,使用者每輸入一個字元就推薦一次。 推薦時,優先返回字典序(Lecial order)最接近的關鍵字,最多不要超過三個關鍵字。 題目的原文
題目敘述 題目會給定一棵二元樹的根結點,要求我們判定這是否為一顆合法的奇偶二元樹? 奇偶二元樹的定義: 從上到下依序是第0層、第一層、...、第n層 偶數層裡面的節點值都必須是奇數,而且由左到右嚴格遞增。 奇數層裡面的節點值都必須是偶數,而且由左到右嚴格遞減。 題目的原文敘述 測試
題目敘述 題目會給定一棵二元樹的根結點,要求我們找出這棵二元樹最後一層最左邊的值。 題目的原文敘述 測試範例 Example 1: Input: root = [2,1,3] Output: 1 Example 2: Input: root = [1,2,3,4,null,5,6
題目敘述 題目已經給定一個Trie前綴樹的類別和相關的函式介面interface, 要求我們把功能實作出來。 Trie() 建構子,初始化一個空的Trie。 void insert(String word) 插入一個新的單字word到Trie裡面。 boolean search(Strin
題目敘述 題目會給我們兩個輸入陣列spells咒語、potions藥水,還有一個參數success。 當咒語和藥水相乘的值 > success就是一個成功配對。 請問每個咒語能夠形成的成功配對數有多少? 以陣列的形式輸出返回答案。 題目的原文敘述 測試範例 Example 1:
題目敘述 題目會給我們兩個輸入,字串s和字串t,要求我們判定s是否為t的子序列(Subsequence)? 題目的原文敘述 測試範例 Example 1: Input: s = "abc", t = "ahbgdc" Output: true Example 2: Input:
題目敘述 題目會給定兩個輸入。 第一個輸入是關鍵字清單products,第二個是使用者輸入的字串searchWord。 要求我們實現關鍵字搜尋建議系統,使用者每輸入一個字元就推薦一次。 推薦時,優先返回字典序(Lecial order)最接近的關鍵字,最多不要超過三個關鍵字。 題目的原文
題目敘述 題目會給定一棵二元樹的根結點,要求我們判定這是否為一顆合法的奇偶二元樹? 奇偶二元樹的定義: 從上到下依序是第0層、第一層、...、第n層 偶數層裡面的節點值都必須是奇數,而且由左到右嚴格遞增。 奇數層裡面的節點值都必須是偶數,而且由左到右嚴格遞減。 題目的原文敘述 測試
題目敘述 題目會給定一棵二元樹的根結點,要求我們找出這棵二元樹最後一層最左邊的值。 題目的原文敘述 測試範例 Example 1: Input: root = [2,1,3] Output: 1 Example 2: Input: root = [1,2,3,4,null,5,6
題目敘述 題目已經給定一個Trie前綴樹的類別和相關的函式介面interface, 要求我們把功能實作出來。 Trie() 建構子,初始化一個空的Trie。 void insert(String word) 插入一個新的單字word到Trie裡面。 boolean search(Strin
題目敘述 題目會給我們兩個輸入陣列spells咒語、potions藥水,還有一個參數success。 當咒語和藥水相乘的值 > success就是一個成功配對。 請問每個咒語能夠形成的成功配對數有多少? 以陣列的形式輸出返回答案。 題目的原文敘述 測試範例 Example 1:
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
交叉延宕效果(CLPM)常常模式適配不佳,主因缺乏考量個別差異。 隨機截距交叉延宕模式(RI-CLPM)是傳統的交叉延宕模式的擴展,具有更好的模式適配度。本文章簡介RI-CLPM定義和CLPM的差異。 交叉延宕效果(CLPM)最大的局限性在於它混合
Thumbnail
在這個快速變遷的時代,傳統的「不務正業」觀念正在被重新詮釋。我們不再僅限於本科專業,而是積極追求跨領域學習和多元發展。
Thumbnail
深夜幾次想要沐浴又忘了身上背著24小時心電圖。平常滿散漫的也沒什麼潔癖,但是不洗頭會睡不著。加上胸腹被膠布多處貼著,實在很癢。好在我不是趴睡的人,因為禁止趴睡。 最近幾天哭得很累,也許是天氣,很容易就陷進多愁善感的思緒裡。其實還是很樂觀的人。那天前同事W說他們在提倡正向思考,說著說著打開一個網頁說他
Thumbnail
台北市是一個被自行車道環繞城市,城市多達三百公里自行車步道長度、銜接連綿新北市各個行政區更來個自行車旅行。如果你騎到永福公園,不坊停下來來此地看看。 永福公園、福和兒童足球場相關資訊:: 地址: 台北市中正區汀洲路三段104巷40弄6號 電話: 02 2726 2075 備註: 公園
Thumbnail
縱貫式中介模型(Longitudinal Mediation Model)是研究隨著時間的改變,變數X如何通過中介變數M影響變數Y的統計模型。它是長期觀察和分析數據的有用工具,可以揭示X和Y之間的關係以及中介變數M在這個關係中扮演的角色。本文將介紹縱貫式中介模型Mplus操作
Thumbnail
您知道什麼是 RSI 指標嗎!? 這是一部適合剛入門股市的新手 從 RSI 背離、RSI 黃金交叉、RSI 死亡交叉,各種情境全都看! 讓您一次瞭解各種情境的變化!
Thumbnail
您知道什麼是 KD 指標嗎!? 從 KD 背離、KD 鈍化、KD 黃金交叉、KD 死亡交叉,各種情境全都看! 讓您一次瞭解各種情境的變化!
Thumbnail
在日线和短、中、长期线同时排列的移动平均线图形中,除了形势明朗的多头排列(牛市)和空头排列(熊市)以外,更多的是几根线忽上忽下纠缠不清的状况,在这里特别要注意移动平均线显示的反转信号,其中最著名的就是黄金交叉和死亡交叉。 黄金交叉 死亡交叉 其它相对指标配合:
Thumbnail
美元指數和加權指數交叉分析,資金是不是被美國吸走了 金色線條代表波段高點,紫色線條代表波段低點,OSC系統二者完全相反,美元指數是紅色,加權指數就是綠色,完全對稱走勢 基本面比較好的說法,慢慢被公告的數據給拆穿
Thumbnail
去年莫名開啟了交叉閱讀的模式 所謂「交叉」,就是不同種類、不同本的書本之間彼此交互閱讀
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
交叉延宕效果(CLPM)常常模式適配不佳,主因缺乏考量個別差異。 隨機截距交叉延宕模式(RI-CLPM)是傳統的交叉延宕模式的擴展,具有更好的模式適配度。本文章簡介RI-CLPM定義和CLPM的差異。 交叉延宕效果(CLPM)最大的局限性在於它混合
Thumbnail
在這個快速變遷的時代,傳統的「不務正業」觀念正在被重新詮釋。我們不再僅限於本科專業,而是積極追求跨領域學習和多元發展。
Thumbnail
深夜幾次想要沐浴又忘了身上背著24小時心電圖。平常滿散漫的也沒什麼潔癖,但是不洗頭會睡不著。加上胸腹被膠布多處貼著,實在很癢。好在我不是趴睡的人,因為禁止趴睡。 最近幾天哭得很累,也許是天氣,很容易就陷進多愁善感的思緒裡。其實還是很樂觀的人。那天前同事W說他們在提倡正向思考,說著說著打開一個網頁說他
Thumbnail
台北市是一個被自行車道環繞城市,城市多達三百公里自行車步道長度、銜接連綿新北市各個行政區更來個自行車旅行。如果你騎到永福公園,不坊停下來來此地看看。 永福公園、福和兒童足球場相關資訊:: 地址: 台北市中正區汀洲路三段104巷40弄6號 電話: 02 2726 2075 備註: 公園
Thumbnail
縱貫式中介模型(Longitudinal Mediation Model)是研究隨著時間的改變,變數X如何通過中介變數M影響變數Y的統計模型。它是長期觀察和分析數據的有用工具,可以揭示X和Y之間的關係以及中介變數M在這個關係中扮演的角色。本文將介紹縱貫式中介模型Mplus操作
Thumbnail
您知道什麼是 RSI 指標嗎!? 這是一部適合剛入門股市的新手 從 RSI 背離、RSI 黃金交叉、RSI 死亡交叉,各種情境全都看! 讓您一次瞭解各種情境的變化!
Thumbnail
您知道什麼是 KD 指標嗎!? 從 KD 背離、KD 鈍化、KD 黃金交叉、KD 死亡交叉,各種情境全都看! 讓您一次瞭解各種情境的變化!
Thumbnail
在日线和短、中、长期线同时排列的移动平均线图形中,除了形势明朗的多头排列(牛市)和空头排列(熊市)以外,更多的是几根线忽上忽下纠缠不清的状况,在这里特别要注意移动平均线显示的反转信号,其中最著名的就是黄金交叉和死亡交叉。 黄金交叉 死亡交叉 其它相对指标配合:
Thumbnail
美元指數和加權指數交叉分析,資金是不是被美國吸走了 金色線條代表波段高點,紫色線條代表波段低點,OSC系統二者完全相反,美元指數是紅色,加權指數就是綠色,完全對稱走勢 基本面比較好的說法,慢慢被公告的數據給拆穿
Thumbnail
去年莫名開啟了交叉閱讀的模式 所謂「交叉」,就是不同種類、不同本的書本之間彼此交互閱讀