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

更新於:2021年5月17日

瀏覽量:1K+

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告