网站 支付宝 接口,广东东远建设工程管理有限公司网站,销售技巧,iis wordpress index.php12.括号匹配
20. 有效的括号 - 力扣#xff08;LeetCode#xff09; 解题思路#xff1a;该题比较简单#xff0c;是对栈特性很好的应用#xff0c;具体操作如下#xff1a;循环遍历String中的字符#xff0c;逐个取到每个括号#xff0c;如果该括号是#xff1a;1. … 12.括号匹配
20. 有效的括号 - 力扣LeetCode 解题思路该题比较简单是对栈特性很好的应用具体操作如下循环遍历String中的字符逐个取到每个括号如果该括号是1. 左括号直接入栈2. 右括号与栈顶的左括号进行匹配如果不匹配直接返回false否则继续循环循环结束后如果栈空则匹配否则左括号比右括号多肯定不匹配 bool isValid(char * s){// oj题目给的提示1 s.length 104 说明s中一定是有字符串的 不考虑空串或者s为空的情况int size strlen(s);Stack st;StackInit(st);bool isMatch true;for(int i 0; i size; i){// 如果是左括号则入栈if((( s[i]) || ([ s[i]) || ({ s[i])){StackPush(st, s[i]);}else{// 拿到的是右括号// 此时: 需要从栈顶获取左括号来检测是否匹配// 注意一定要保证栈中有元素才可以获取栈顶元素if(StackEmpty(st)){//StackDestroy(st);//return false;isMatch false;break;}char top StackTop(st);if((top ( s[i] )) ||(top [ s[i] ]) ||(top { s[i] })){StackPop(st);}else{// 没有匹配// StackDestroy(st);// return false;isMatch false;break;}}}// 如果完全匹配则循环结束时栈一定是空的// 否则说明左括号比右括号多if(!StackEmpty(st)){//StackDestroy(st);//return false;isMatch false;}StackDestroy(st);return isMatch;
}