有效的括号
题目链接: https://leetcode.cn/problems/valid-parentheses
解题思路:
如果字符串长度为奇数,直接返回
false
使用一个栈来存储左括号,遍历字符串
s
中的每个字符如果当前字符是左括号,则将其压入栈中,如果当前字符是右括号,则从栈中弹出一个左括号进行匹配
如果栈为空,则说明没有左括号与当前右括号匹配,返回
false
,如果栈顶的左括号与当前右括号不匹配,则返回false
如果遍历完成后栈不为空,则说明还有左括号没有匹配,返回
false
。否则,返回true
复杂度分析
时间复杂度: 只遍历了一遍字符串,因此时间复杂度为 ,其中 是字符串
s
的长度空间复杂度: 空间复杂度为 ,函数使用了一个长度为 的切片来存储栈。在最坏的情况下,栈的深度可能达到 ,所以空间复杂度为
最后更新于