LeetCode-P0020
LeetCode-P0020
超题目
给定一个只包括
'('
,')'
,'{'
,'}'
,'['
,']'
的字符串s
,判断字符串是否有效。有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 每个右括号都有一个对应的相同类型的左括号。
示例 1:
1
2 输入:s = "()"
输出:true示例 2:
1
2 输入:s = "()[]{}"
输出:true示例 3:
1
2 输入:s = "(]"
输出:false提示:
1 <= s.length <= 104
s
仅由括号'()[]{}'
组成
思路
用栈的方法去存
- 没数据或为奇数的直接返回空
- 把各个字符的对应关系存起来
- 用队列存数据
- 遍历字符串,遇到左括号入队,遇到右括号,判断栈首元素是否对应,对应即弹出队列
1 | class Solution { |