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

创想未来
评论前必须登录!
注册