用 Python 檢查圓括號是否配對的程式


假設我們有一個由圓括號“(”和“)”組成的字串 s。我們要檢查括號是否配對。

所以,如果輸入為 s = "(()())(())",則輸出將為 True

要解決這個問題,我們將按照以下步驟操作:

  • num_open := 0
  • 對於 s 中的每個字元 c,執行以下操作:
    • 如果 c 與 ')' 相同,則
      • 如果 num_open < 0,則
        • num_open := num_open - 1
      • 否則,
        • 返回 False
      • 否則,
        • num_open := num_open + 1
  • 返回 num_open 的反

讓我們看看以下實現,以便更好地理解:

示例

 線上演示

class Solution:
   def solve(self, s):
      num_open = 0
      for c in s:
         if c == ')':
            if num_open < 0:
               num_open -= 1
            else:
               return False
            else:
               num_open += 1
      return not num_open
ob = Solution()
print(ob.solve("(()())(())"))

輸入

"(()())(())"

輸出

False

更新時間:06-10-2020

202 次瀏覽

開啟您的職業生涯

完成課程認證

開始行動
廣告
© . All rights reserved.