1. 程式人生 > >Python 用棧判斷括號匹配

Python 用棧判斷括號匹配

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from pythonds.basic.stack import Stack
def parChecker(symbolString): s = Stack() balanced = True index = 0 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 print(parChecker('()())'))
print(parChecker('()()()')) print(parChecker('((()())())'))