https://leetcode.cn/problems/valid-parentheses/
题目解析:
这道题目主要就是,判断这个字符串,是不是有效字符串,意思是能不能满足上述三种要求。
思路:
那么我们就用一个栈来遍历该字符串中的元素,
如果遇到左括号,那么我们就将其对应右花括号入栈,
原因:为了就是方便弹出的时候,我们匹配很方便(为了就是做比较方便)
如果遇到右花括号,那么我们就将其和栈顶元素进行对比,
如果相等,那么就弹出该元素
如果不相等,直接返回false;或者说此时栈为空了,我们也要return false
在遍历完之后,栈是否为空,若空true,否则false
匹配情况:
- 空字符串
- 顺序相同
- 类型相同
不匹配情况 - 括号多余
- 括号不多余但是类型不匹配
代码实现:
所谓减枝操作,就算是一种快捷方式了吧
最简单的减枝操作:判空
该题目:就比如说,若字符串个数为奇数,那么一定不匹配