欢迎光临
我们一直在努力

有效括号:判断给定的字符串是否为有效的括号组合。

"""
有效括号
给定一个只包括'(',')’,'{’,’}’,’[',’]’的字符串,
判断字符串是否有效。
有效字符串规则如下:
1.左括号必须用相同类型的右括号闭合
2.左括号必须以正确的顺序闭合。
3.每个右括号都有一个对应的相同类型的左括号。
"""

def is_valid(s):
    """
    判断给定的字符串是否为有效的括号组合。

    参数:
    s (str): 输入的字符串,包含括号字符。

    返回:
    bool: 如果字符串是有效的括号组合,则返回True;否则返回False。
    """
    # 如果字符串长度为奇数,则不可能是有效的括号组合
    if len(s) % 2 == 1:
        return False

    # 定义一个映射,用于匹配关闭括号和对应的打开括号
    checked = {
        ')': '(',
        ']': '[',
        '}': '{'
    }

    # 使用栈来存储打开的括号
    stack = []
    for i in s:
        # 如果当前字符是关闭括号
        if i in checked:
            # 如果栈为空或栈顶元素不是对应的打开括号,则返回False
            if not stack or stack[-1] != checked[i]:
                return False
            # 栈顶元素出栈,表示匹配了一个括号对
            stack.pop()
        else:
            # 如果当前字符是打开括号,则入栈
            stack.append(i)

    # 如果栈为空,则说明所有括号都正确匹配,返回True;否则,返回False
    return not stack

if __name__ == '__main__':
    s = '()[{()}]{}'
    print(is_valid(s))
赞(0) 打赏
未经允许不得转载:创想未来 » 有效括号:判断给定的字符串是否为有效的括号组合。

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册