""" 有效括号 给定一个只包括'(',')’,'{’,’}’,’[',’]’的字符串, 判断字符串是否有效。 有效字符串规则如下: 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))
有效括号:判断给定的字符串是否为有效的括号组合。
未经允许不得转载:创想未来 » 有效括号:判断给定的字符串是否为有效的括号组合。
评论前必须登录!
注册