Python 括号匹配校验算法详解:使用栈结构判断括号是否匹配
使用栈的数据结构可以有效地判断括号是否正确匹配。具体步骤如下:\n\n1. 创建一个空栈。\n2. 遍历输入的字符串中的每个字符:\n - 如果字符是左括号(即'{'、'['、'('),则将其入栈。\n - 如果字符是右括号(即'}'、']'、')'),则进行以下判断:\n - 如果栈为空,则说明右括号没有与之匹配的左括号,返回False。\n - 如果栈不为空,则将栈顶元素出栈,并与右括号进行匹配判断:\n - 如果匹配成功,则继续遍历下一个字符。\n - 如果匹配失败,则返回False。\n3. 遍历结束后,如果栈为空,则说明所有的左括号都有与之匹配的右括号,返回True;否则,返回False。\n\n下面是一个示例的Python实现代码:\n\npython\ndef is_valid_parentheses(s):\n stack = []\n parentheses_map = {')': '(', ']': '[', '}': '{'}\n for char in s:\n if char in '({[':\n stack.append(char)\n elif char in ')}]':\n if not stack:\n return False\n if stack[-1] == parentheses_map[char]:\n stack.pop()\n else:\n return False\n return len(stack) == 0\n\n# 测试\ns = input("请输入一个包含有花括号{}、中括号[]、小括号()的字符串: ")\nif is_valid_parentheses(s):\n print("括号匹配正确")\nelse:\n print("括号匹配不正确")\n\n\n运行示例:\n\n请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}\n括号匹配正确\n\n请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}\n括号匹配正确\n\n请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}\n括号匹配正确\n\n请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}\n括号匹配正确\n\n请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(()])}\n括号匹配不正确\n
原文地址: https://www.cveoy.top/t/topic/pqej 著作权归作者所有。请勿转载和采集!