seo网站营销推广全程实例pdf,灵台门户网站建设,wordpress网盘主题,网上设计网站思路
从题干可以看出#xff0c;只要给出的括号对应关系正确#xff0c;那么就可以返回true,否则返回false。这个题可以使用栈来解决
解题过程
首先从第一个字符开始遍历#xff0c;如果是括号的左边#xff08;‘#xff08;‘#xff0c;’[‘#xff0c;’}‘只要给出的括号对应关系正确那么就可以返回true,否则返回false。这个题可以使用栈来解决
解题过程
首先从第一个字符开始遍历如果是括号的左边‘‘’[‘’}‘则直接将该字符压栈
如果是括号的右边 首先判断栈是否为空如果为空则直接返回false
如果栈不为空则可以与栈的顶部数据进行比较若左右括号对应’‘’[]‘’{}‘说明这个括号对应关系正确然后直接使用stack.pop(出栈 遍历完s中的所有数据之后若栈为空说明所有括号的对应关系都正确直接返回true否则返回false
以示例2作为例子 代码
class Solution {
public:bool isValid(string s) {stack char stack;for(int i0;is.length();i){char c s[i];if(c ( || c [ || c {)stack.push(c);else if(c )){if(stack.empty() || stack.top()!(){return false;}else {stack.pop();} }else if(c ]){if(stack.empty() || stack.top()![){return false;}else {stack.pop();}}else if(c }){if(stack.empty() || stack.top()!{){return false;}else {stack.pop();}}}return stack.empty();}
};