可以使用栈来判断括号是否正确匹配。遍历输入的字符串,如果遇到左括号(花括号、中括号或小括号),则将其压入栈中;如果遇到右括号,则判断栈顶元素是否与当前右括号匹配,如果匹配则弹出栈顶元素,否则返回括号不匹配。最后,如果栈为空,则说明所有括号都正确匹配,否则括号不匹配。

以下是示例代码实现:

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

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

示例输入1:

请输入包含有花括号{}、中括号[]、小括号()的字符串:{[()]}

示例输出1:

括号匹配正确

示例输入2:

请输入包含有花括号{}、中括号[]、小括号()的字符串:{[()]}}

示例输出2:

括号匹配不正确
``

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

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