字符串中的小括号匹配判别
时间: 2023-10-12 17:05:02 浏览: 73
括号匹配判断
这个问题可以使用栈来解决。我们可以遍历字符串中的每个字符,如果遇到左括号,就将其压入栈中,如果遇到右括号,就将栈中的上一个元素弹出并比较是否是对应的左括号。
如果栈为空,说明右括号没有对应的左括号,字符串中的小括号不匹配;如果遍历完字符串后栈不为空,说明左括号没有对应的右括号,字符串中的小括号不匹配;否则,字符串中的小括号匹配。
下面是一个 Python 实现:
```python
def is_valid_parentheses(s: str) -> bool:
stack = []
for c in s:
if c == '(':
stack.append(c)
elif c == ')':
if not stack or stack[-1] != '(':
return False
stack.pop()
return not stack
```
时间复杂度:$O(n)$,其中 $n$ 是字符串的长度。
空间复杂度:$O(n)$,最坏情况下需要存储整个字符串。
阅读全文