题目描述
给出一个仅包含’[’,’]’,’(’,’)’,’{’,’}'六种字符的括号序列,判断其是否合法。
- 空串是一个合法的括号序列
- 如果A, B 都是合法的括号序列,那么AB也是合法的括号序列
- 如果A是合法的括号序列,(A) , [A], {A}都是合法的括号序列
输入描述:
一行一个字符串S,只包含题目中的六种括号字符
输出描述:
输出为一行"Yes" 或"No"
输入
(){}[]
({[]})
([)]
输出
Yes
Yes
No
备注:
1 ≤ ∣ S ∣ ≤ 1000000 1\le |S| \le 1000000 1≤∣S∣≤1000000
题解
-
使用栈,从左到右处理每一个括号:
-
如果是左括号,那么入栈,然后继续读下一个括号
-
如果是右括号&