链接力扣题目20.
使用数据结构----栈
首先分析错位情况:
第一种:左括号多余
第二种:有括号多余
第三种:括号不匹配
以下为具体代码实现:
- 首先判断字符串的长度是否为偶数,不为偶数则返回false
- 遍历整个字符串,遇到 '(' 则将 ')' 入栈,[,{ 同理。
- 完成操作后,若栈中无元素,则说明字符串s中没有左括号,返回false。
- 若栈不为空,则判断栈顶元素是否等于s[i], (i此时遍历到第一个右括号),若不等则返回false。如果等于,弹出栈顶元素,再循环以上操作进行判断
- 最后判断栈是否为空,为空则说明每个括号都匹配成功