20. Valid Parentheses
分析
利用 栈 来检查括号匹配:
- 核心规则:
- 左括号
(
,[
,{
是合法起始符号,直接入栈 - 遇到右括号
)
,]
,}
时,检查栈顶的左括号是否能匹配:- 如果匹配,则栈顶元素出栈
- 如果不匹配,字符串无效,直接返回
false
- 遍历结束后,如果栈为空,则字符串有效;否则无效。
- 左括号
- 匹配判断:
- 两个字符匹配的条件是:
abs(栈顶字符 - 当前字符) <= 2
- ASCII 值中:
(
和)
相差1
[
和]
相差2
{
和}
相差2
- ASCII 值中:
- 两个字符匹配的条件是:
C++代码
|
|