刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

括号配对
字符串中可能有三种成对的括号,“( )”、“[ ]”、“{ }”。请判断字符串的括号是否都正确配对。无括号也算正确配对。括号交叉算不正确配对,例如"12{34[78}ab]“就不算正确配对。但是一对括号被包含在另一对括号里面,例如"12{ab[8]}“不影响正确性。
时间限制:1000
内存限制:65536
输入
第一行为整数n(n<40),接下来有n行,每行一个无空格的字符串,长度小于1000。
输出
对每行字符串,如果括号配对,输出"YES”,否则输出"NO”。
样例输入

2
12{ab[8]}
12{34[78}ab]

样例输出

YES
NO

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】:本题要求判断字符串的括号是否都正确配对。可以使用栈来解决这个问题。遍历字符串中的每个字符,如果字符是左括号,则将其压入栈中;如果字符是右括号,则检查栈顶元素是否与其匹配,如果匹配,则弹出栈顶元素,否则说明括号不匹配,输出"NO"。如果遍历结束后栈为空,则说明所有括号都正确配对,输出"YES";否则说明括号不匹配,输出"NO"。在Python中,可以使用列表来模拟栈,使用append()方法将元素压入栈中,使用pop()方法将栈顶元素弹出。在判断括号是否匹配时,可以使用字典来存储每个左括号对应的右括号,以便快速查找。具体实现时,首先读入整数n,表示有n行字符串需要判断。然后对于每行字符串,使用栈来存储左括号,遍历字符串中的每个字符,根据字符类型进行相应的操作。最后根据栈是否为空来判断括号是否匹配,并输出相应的结果。
创作类型:
原创

本文链接:括号配对 字符串中可能有三种成对的括号,“( )”、“[ ]”、“{ }”。请判断字符串的括号是否都

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share