给定一个只包括,(,’’,’”, ”,’[”, ” 的字符串 s ,判断字符串是否有效 有效字符串需满足: 1.左括号必须用相同类型的右括号闭合 2.左括号必须以正确的顺序闭合。 3.每个右括号都有一个对应的相同类型的左括号
时间: 2023-11-24 14:05:11 浏览: 111
python判断给定的字符串是否是有效日期的方法
可以使用栈来解决这个问题。我们遍历字符串 s 中的每一个字符,如果是左括号,将其压入栈中。如果是右括号,判断栈顶元素是否与之匹配,如果匹配,则弹出栈顶元素;否则返回 False。最后,如果栈为空,则说明所有左括号都有相应的右括号,返回 True;否则返回 False。
以下是 Python 代码的示例:
```python
def isValid(s: str) -> bool:
stack = []
mapping = {")": "(", "}": "{", "]": "["}
for c in s:
if c in mapping:
if not stack or stack[-1] != mapping[c]:
return False
stack.pop()
else:
stack.append(c)
return not stack
```
时间复杂度为 O(n),其中 n 是字符串 s 的长度。
阅读全文