题库首页 › 青少年软件编程(C语言) › 题目 4500

括号配对 字符串中可能有三种成对的括号,"( )"、"[ ]"、"{ }"。请判断字符串的括号是否都正确配对。无括号也算正确配对。括号交叉算不正确配对,例如"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

正确答案:参考程序(C++):括号匹配。用栈,遇左括号(、[、{入栈,遇右括号检查栈顶是否匹配,匹配则出栈否则NO,最后栈空则YES。核心:栈匹配三种括号。

试卷来源:202303 青少年等级考试C/C++真题六级

本卷相关题目

在线做题 同科目题库