用 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 次浏览

开启您的职业生涯

完成课程认证

开始行动
广告