python 有效的括号
时间: 2023-10-15 19:31:16 浏览: 41
要判断给定的字符串中括号是否有效,可以使用栈的数据结构进行处理。以下是一个Python函数来实现这个功能:
```python
def is_valid_parentheses(s):
stack = []
mapping = {")": "(", "}": "{", "]": "["}
for char in s:
if char in mapping:
top_element = stack.pop() if stack else '#'
if mapping[char] != top_element:
return False
else:
stack.append(char)
return not stack
```
该函数首先创建一个空栈和一个映射字典,其中包含右括号和左括号之间的对应关系。然后它遍历字符串中的每个字符。如果字符是右括号,则检查栈顶元素是否与其对应的左括号相匹配。如果不匹配,则返回False。如果字符是左括号,则将其推入栈中。最后,检查栈是否为空,如果为空则说明所有括号都是有效的,返回True,否则返回False。
示例:
```python
print(is_valid_parentheses("()")) # True
print(is_valid_parentheses("()[]{}")) # True
print(is_valid_parentheses("(]")) # False
print(is_valid_parentheses("([)]")) # False
print(is_valid_parentheses("{[]}")) # True
```
注意:该函数只能判断括号的有效性,不适用于其他类型的配对字符。