栈的应用–括号匹配(python篇)
算法步骤:
1.创建一个空栈
2.遍历字符串中的每个字符
3.如果当前字符是左括号,将其压入栈中
4.如果当前字符是右括号,检查栈是否为空,如果为空,则说明右括号没有匹配的左括号,返回false;如果栈不为空,弹出栈顶元素,检查它是否与当前右括号匹配,如果不匹配,则返回false
5.遍历完字符串后,检查栈是否为空,如果为空,则说明所有括号都匹配,返回true;否则,说明有左括号没有匹配的右括号,返回false
代码实现:
“`python
def is_valid_parentheses(s: str) -> bool:
stack = []
for c in s:
if c == '(' or c == '[' or c == '{':
stack.append(c)
elif c == ')':
if not stack or stack.pop() != '(':
return False
elif c == ']':
if not stack or stack.pop() != '[':
return False
elif c == '}':
if not stack or stack.pop() != '{':
return False
return not stack
“`
示例:
“`python
assert is_valid_parentheses('()') == True
assert is_valid_parentheses('()[]{}') == True
assert is_valid_parentheses('(]') == False
assert is_valid_parentheses('([)]') == False
assert is_valid_parentheses('{[]}') == True
“`
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/92464.html