记录一下leetcode刷题,大牛请绕道
思想
给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
上述是题目的描述,这里我们可以创建一个类型为uint8的切片(因为go在遍历字符串的时候,每个字符的类型就是uint8),然后当我们就可以遍历字符串,遇到左括号((
、[
、{
)的时候Push
入栈,然后当遇到右括号的时候,Pop
出栈,如果出栈的元素与当前右括号不匹配的话,则可以认定当前字符串无效,等我们遍历完成后,最后检查一下栈是否为空,如果为空,则字符串有效;如果栈不为空,则字符串无效,说明无法匹配完全。
代码
1 | type Stack struct { |