从键盘输入一个包含有花括号、中括号、小括号的字符串判断括号是否正确匹配输出判断结果
可以使用栈来判断括号是否正确匹配。遍历输入的字符串,如果遇到左括号(花括号、中括号或小括号),则将其压入栈中;如果遇到右括号,则判断栈顶元素是否与当前右括号匹配,如果匹配则弹出栈顶元素,否则返回括号不匹配。最后,如果栈为空,则说明所有括号都正确匹配,否则括号不匹配。
以下是示例代码实现:
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 著作权归作者所有。请勿转载和采集!