有效的括号
题目描述
给定一个只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字符串 s
,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。
示例 1:
输入:s = “()”
输出:true
示例 2:
输入:s = “()[]{}”
输出:true
示例 3:
输入:s = “(]”
输出:false
提示:
- 1 <= s.length <= 104
- s 仅由括号 ‘()[]{}’ 组成
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
我的答案
1 | func isValid(s string) bool { |
解题思路
栈是一个后进先出的队列,用在这里可以避免复杂的判断结构。但是,Go语言的标准库没有栈这种结构,我就手动实现了一个。
题解
1 | func isValid(s string) bool { |
根据 benchmark显示,极端情况下,可以减少 40% 的时间。
总结
- 栈的应用
Comments
Comment plugin failed to load
Loading comment plugin