【LeetCode刷题(简单程度)】20. 有效的括号

    技术2022-07-11  96

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

    有效字符串需满足:

    左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。

    示例 1:

    输入: "()" 输出: true 示例 2:

    输入: "()[]{}" 输出: true 示例 3:

    输入: "(]" 输出: false 示例 4:

    输入: "([)]" 输出: false 示例 5:

    输入: "{[]}" 输出: true

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-parentheses 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

     

    思路:这是栈的典型应用,最基础的题,看代码就知道了。

    class Solution { public: bool isValid(string s) { stack<char> S; for(auto c : s) { switch(c) { case '(': case '{': case '[': S.push(c); break; case ')': { if(S.empty()||('(' != S.top())) return false; else S.pop(); break; } case '}': { if(S.empty()||('{' != S.top())) return false; else S.pop(); break; } case ']': { if(S.empty()||('[' != S.top())) return false; else S.pop(); break; } } } return S.empty(); } };

     

    Processed: 0.008, SQL: 9