看一百遍美女,美女也不一定是你的。但你刷一百遍算法,知识就是你的了~~
谁能九层台,不用累土起!
题目
给定一个只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字符串s
,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
示例 1:
1 | 输入: s = "()" |
示例 2:
1 | 输入: s = "()[]{}" |
示例 3:
1 | 输入: s = "(]" |
示例 4:
1 | 输入: s = "([)]" |
示例 5:
1 | 输入: s = "{[]}" |
提示:
1 <= s.length <= 104
s
仅由括号'()[]{}'
组成
解题思路
- 我们用栈的思想,当出现
)
,]
,}
时,前一位一定会有与之对应的(
,[
,{
才能满足题意 - 排除几个边界条件
- 以
)
,]
,}
开头 - 从未出现过
)
,]
,}
s
长度为1
- 以
解题代码
1 | var isValid = function(s) { |
如有任何问题或建议,欢迎留言讨论!