从键盘输入一个包含有花括号、中括号、小括号的字符串判断括号是否正确匹配输出判断结果。
可以使用栈的数据结构来判断括号是否正确匹配。具体步骤如下:
- 创建一个空栈。
- 遍历输入的字符串中的每个字符:
- 如果字符是左括号(即'{'、'['、'('),则将其入栈。
- 如果字符是右括号(即'}'、']'、')'),则进行以下判断:
- 如果栈为空,则说明右括号没有与之匹配的左括号,返回False。
- 如果栈不为空,则将栈顶元素出栈,并与右括号进行匹配判断:
- 如果匹配成功,则继续遍历下一个字符。
- 如果匹配失败,则返回False。
- 遍历结束后,如果栈为空,则说明所有的左括号都有与之匹配的右括号,返回True;否则,返回False。
下面是一个示例的Python实现代码:
def is_valid_parentheses(s):
stack = []
parentheses_map = {')': '(', ']': '[', '}': '{'}
for char in s:
if char in '({[':
stack.append(char)
elif char in ')}]':
if not stack:
return False
if stack[-1] == parentheses_map[char]:
stack.pop()
else:
return False
return len(stack) == 0
# 测试
s = input("请输入一个包含有花括号{}、中括号[]、小括号()的字符串: ")
if is_valid_parentheses(s):
print("括号匹配正确")
else:
print("括号匹配不正确")
运行示例:
请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确
请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确
请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确
请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(())]}
括号匹配正确
请输入一个包含有花括号{}、中括号[]、小括号()的字符串: {[(()])}
括号匹配不正确
``
原文地址: https://www.cveoy.top/t/topic/hG5y 著作权归作者所有。请勿转载和采集!