[LeetCode] Valid Parenthese

class Solution {
public:
    bool isValid(string s) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        stack<char> stk;
        
        for (int i = 0; i < s.size(); i++) {
            char ch = s[i];
            
            if (ch == '(' || ch == '[' || ch == '{') {
                stk.push(ch);
            } else if (ch == ')') {
                if (stk.empty() || stk.top() != '(')
                    return false;
                else
                    stk.pop();
            } else if (ch == ']') {
                if (stk.empty() || stk.top() != '[')
                    return false;
                else
                    stk.pop();
            } else if (ch == '}') {
                if (stk.empty() || stk.top() != '{')
                    return false;
                else 
                    stk.pop();
            }
        }
        
        return stk.empty();
    }
};


Small Case: 4ms

Large Case: 12ms


Time: O(n)

Space: O(n)

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