1. 程式人生 > >LeetCode 20. Valid Parentheses 時間複雜度(O( n​​​​​​))

LeetCode 20. Valid Parentheses 時間複雜度(O( n​​​​​​))

時間複雜度(O( n​​​​​​))

class Solution {
public:
    bool isValid(string s) {
        if(s.length()%2==1)return false;
        vector<char> vec_ch ;
        for(int i=0;i<s.length();++i){
            
            if(vec_ch.empty())
                vec_ch.push_back(s.at(i));
            else 
                if((vec_ch.back()=='{'&&s.at(i)=='}')||(vec_ch.back()=='['&&s.at(i)==']')||(vec_ch.back()=='('&&s.at(i)==')')){
                    vec_ch.pop_back();
                }else
                    vec_ch.push_back(s.at(i));
            if(vec_ch.back()=='}'||vec_ch.back()==']'||vec_ch.back()==')') return false;
                
        }
        if(vec_ch.empty())
            return true;
        return false;
    }
};