LeetCode20——Valid Parentheses(括号匹配问题,使用栈的知识)

题目:



解法:

#include 

class Solution {
public:
    bool isValid(string s) 
    {
        stack paren;
        
        for (char& c : s) 
        {
            switch (c) 
            {
                case '(': 
                case '{': 
                case '[': 
                    paren.push(c);
                    break;
                case ')': 
                    if (paren.empty() || paren.top()!='(') 
                        return false; 
                    else 
                        paren.pop(); 
                    break;
                case '}': 
                    if (paren.empty() || paren.top()!='{') 
                        return false; 
                    else 
                        paren.pop(); 
                    break;
                case ']': 
                    if (paren.empty() || paren.top()!='[') 
                        return false; 
                    else 
                        paren.pop(); 
                    break;
                default: ; // pass
            }
        }
        
        return paren.empty() ;
    }
};


你可能感兴趣的:(LeetCode刷题)