檢查Python中字串是否可以透過遞迴刪除給定子字串變為空
假設我們有兩個字串 s 和 t。我們可以任意次數地從 s 中刪除 t。並且 t 每次只出現一次。我們必須檢查 s 是否可以透過儘可能多次刪除 t 而變為空。
因此,如果輸入類似於 s = "pipipinnn" t = "pin",則輸出將為 True,因為我們可以從 "pipipinnn" 中刪除 "pin",然後我們將得到 "pipinn",再次刪除 "pin" 以獲得字串 "pin",然後將其刪除以使其為空。
為了解決這個問題,我們將遵循以下步驟:
- 當 s 的大小 > 0 時,執行
- position := t 在 s 中的起始索引
- 如果 position 不在 s 中,則
- 退出迴圈
- s := 從 s 中刪除一次 t
- 當 s 的大小等於 0 時返回 true,否則返回 false
讓我們看看以下實現以獲得更好的理解:
示例
def solve(s, t): while len(s) > 0: position = s.find(t) if position == -1: break s = s.replace(t, "", 1) return len(s) == 0 s = "pipipinnn" t = "pin" print(solve(s, t))
輸入
"pipipinnn", "pin"
輸出
True
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP