0
点赞
收藏
分享

微信扫一扫

检查括号是否完全匹配 python


有效括号字符串需满足:

  • 左括号必须用相同类型的右括号闭合。
  • 左括号必须以正确的顺序闭合。
  • 注意空字符串可被认为是有效字符串。

举例:

((())): True

((()): False

(())): False

class Stack(object) :
def __init__(self,limit=10) :
self.stack = [] # 存放元素
self.limit = limit # 栈容量

# 进栈
def push(self,data):
if len(self.stack) >= self.limit:
print('stackOverflowError')
pass
else:
self.stack.append(data)
def pop(self):
if self.stack :
return self.stack.pop()
else:
raise IndexError('po from an empty stack')
def top(self):
if self.stack :
return self.stack[-1]
def is_empty(self):
return not bool(self.stack)
def size(self):
return len(self.stack)


def balanced_parenthess(parenteses) :
stack = Stack(len(parenteses))
for parentesis in parenteses :
if parentesis == '(':
stack.push(parentesis)
elif parentesis == ')' :
if stack.is_empty():
return False
stack.pop()
return stack.is_empty()

if __name__ == '__main__' :
examples = ['((()))','((())','(()))']

for example in examples:
print(example +" : " + str(balanced_parenthess(example)))

 

举报

相关推荐

0 条评论