记录:
由于在定义检查栈是否为空时,写了self.items == None
导致不管输入什么,只会输出False
定义栈
class Stack:
def __init__(self):
self.items = []
def push(self,item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def isEmpty(self):
return self.items == []
def size(self):
return len(self.items)
匹配括号
def parChecker(symbolString):
s = Stack()
index = 0
balanced = True
while index < len(symbolString) and balanced:
symbol = symbolString[index]
if symbol == "(":
s.push(symbol)
else:
if s.isEmpty():
balanced = False
else:
s.pop()
index += 1
if balanced and s.isEmpty():
return True
else:
return False
symbolString = "(())"
parChecker(symbolString)