Python字串處理程式:查詢有效字串
假設我們有一個包含大小寫英文字母的字串s。我們將一個字串視為有效字串,如果它沒有任何兩個相鄰字元s[i]和s[i + 1]滿足以下條件:
0 <= i <= 字串s的長度 - 2
s[i]是小寫字母,而s[i + 1]是相同的字母但大寫,反之亦然。
為了將字串轉換為有效字串,我們可以選擇兩個相鄰的字元(它們使字串無效)並將其刪除。我們將繼續此過程,直到字串變為有效字串(空字串也可以是有效字串)。我們必須找到使字串變為有效字串後的結果。
因此,如果輸入類似於s = "popPpulaBbr",則輸出將為"popular",因為首先刪除"pP"或"Pp",然後刪除"Bb"。
為了解決這個問題,我們將遵循以下步驟:
res := 一個新的列表
對於s中的每個字元ch,執行以下操作:
如果res不為空,並且res的最後一個元素與ch的大小寫相同,則
從res中刪除最後一個元素
否則,
將ch插入到res的末尾
連線res中存在的每個元素並返回它
示例 (Python)
讓我們看看下面的實現來更好地理解:
def solve(s): res = [] for ch in s: if res and res[-1] != ch and res[-1].lower() == ch.lower(): res.pop() else: res.append(ch) return ''.join(res) s = "popPpulaBbr" print(solve(s))
輸入
"popPpulaBbr"
輸出
popular
廣告