https://zerojudge.tw/ShowProblem?problemid=b304
X
只要是輸入右半部分的符號都需要與左半部分配對,無法配對就表示這是一個不合法的運算式,輸出 “No”;全部都合法配對即輸出 “Yes”。
下列是我在解題時想到的不合法例子
"""
1. 出現右半部時無法與左半部配對
)()
([)]
2. 前面都配對成功 結尾多一個左半無法配對
()()(
"""
用堆疊來解決這題,凡是出現左括號 “ ( ” or “ [ ” 就將它加入 stack 當中
當出現右括號 “ ) ” or “ ] ” 時,去判斷是否可以與 stack 當中的最後一個配對
如果可以配對就將 stack 的最後一個元素移除( pop )
例如現在 stack = [ ” ( ” , “ [ “ ] cur 在字串中讀取到 “ ] “ 這是一個合法配對
配對成功,所以移除他,現在 stack = [ ” ( ” ] 即可繼續查驗下個元素