可以使用栈的数据结构来判断括号是否正确匹配。具体步骤如下:

  1. 创建一个空栈。
  2. 遍历输入的字符串中的每个字符:
    • 如果字符是左括号(即'{'、'['、'('),则将其入栈。
    • 如果字符是右括号(即'}'、']'、')'),则进行以下判断:
      • 如果栈为空,则说明右括号没有与之匹配的左括号,返回False。
      • 如果栈不为空,则将栈顶元素出栈,并与右括号进行匹配判断:
        • 如果匹配成功,则继续遍历下一个字符。
        • 如果匹配失败,则返回False。
  3. 遍历结束后,如果栈为空,则说明所有的左括号都有与之匹配的右括号,返回True;否则,返回False。

下面是一个示例的Python实现代码:

def is_valid_parentheses(s):
    stack = []
    parentheses_map = {')': '(', ']': '[', '}': '{'}
    for char in s:
        if char in '({[':
            stack.append(char)
        elif char in ')}]':
            if not stack:
                return False
            if stack[-1] == parentheses_map[char]:
                stack.pop()
            else:
                return False
    return len(stack) == 0

# 测试
s = input("请输入一个包含有花括号{}、中括号[]、小括号()的字符串: ")
if is_valid_parentheses(s):
    print("括号匹配正确")
else:
    print("括号匹配不正确")

运行示例:

请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确

请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确

请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确

请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确

请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(()])}
括号匹配不正确
``
从键盘输入一个包含有花括号、中括号、小括号的字符串判断括号是否正确匹配输出判断结果。

原文地址: https://www.cveoy.top/t/topic/hG5y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录