1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| bool isValid(string s) { int n=s.length(); if(n%2==1){ return false; }
unordered_map<char,char> pairs={ {')','('}, {']','['}, {'}','{'} }; stack<char> stk; for(char ch:s){ if(pairs.count(ch)){ if(stk.empty()||stk.top()!=pairs[ch]){ return false; } stk.pop(); } else{ stk.push(ch); } }
return stk.empty(); }
|