LeetCode 20 有效括號

原題鏈接

解題思路,使用棧 +   模擬法

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

            }
        
        } 
        return tempStack.empty();   
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章