1.首先判断字符串长度是否为奇数,如果是奇数则无法匹配,直接返回 false。2.遍历字符串中的每个字符,如果是左括号则入栈,如果是右括号则判断栈顶元素是否与之匹配,若匹配则弹出栈顶元素,否则返回 false。3.遍历结束后,如果栈为空,则说明括号匹配成功,返回 true,否则返回 false。
输出一个整数,表示使括号序列正确的最小秒数;如果不可能实现,则输出-1。 输入样例:8 ))((())( 输出样例:6 思路:参考了网络上的一篇博客pta括号匹配调整(栈)。了解了一下思路后我是用数组来做的,对于本人来说比较好理解。进行完是否可以实现括号正确序列的判断后,再进行秒数多少的计算。要使秒数最短,就要...
str[i]);break;// 2.右括号case')':{//与栈顶元素比较,如果栈非空并且栈顶是同类型的左括号,则出栈,表明匹配GetTop(S,e);if(!stackEmpty(S)&&e=='(')pop(S,e);//如果栈空,说明右括号多,不匹配,需要补左括号else{left++;flag=0;}}break;}}...
PTA括号匹配 PTA括号匹配 ⼀、题⽬描述 ⼆、解题思路 这个题打的时候没写出来,脑⼦抽了,很久没⽤栈写过题了,所以⾮常sb。思路⾮常简单,就是当栈不为空时,匹配输⼊的元素和栈顶,如果匹配了就弹出栈顶,不然就加⼊栈顶。最后如果栈区元素不为空,则不匹配。三、代码实现 1 #...
简介:[C++/PTA] 括号匹配 题目要求 给定仅包含()[]{}六种括号的字符串,请你判断该字符串中,括号的匹配是否是合法的,也就是对应括号的数量、嵌套顺序完全正确。 输入格式: 第一行一个整数T(T<=10) 其后T行每行一个字符串只包含[{()}]六种字符(字符串长度2e5以内) ...
PTA括号匹配 一、题目描述 二、解题思路 这个题打的时候没写出来,脑子抽了,很久没用栈写过题了,所以非常sb。思路非常简单,就是当栈不为空时,匹配输入的元素和栈顶,如果匹配了就弹出栈顶,不然就加入栈顶。最后如果栈区元素不为空,则不匹配。 三、代码实现...