代码:
1 #include<iostream> 2 #include<stack> 3 #include<map> 4 5 using namespace std; 6 7 bool isValid(string s) { 8 map<char, char> smap; 9 smap.insert(make_pair('(', ')')); 10 smap.insert(make_pair('[', ']')); 11 smap.insert(make_pair('{', '}')); 12 stack<char> ss; 13 int i=0; 14 int L = s.length(); 15 while (i<L) 16 { 17 char c = s[i]; 18 if (!ss.empty()&&c==smap[ss.top()]) 19 { 20 ss.pop(); 21 } 22 else 23 { 24 ss.push(c); 25 } 26 i++; 27 } 28 if (ss.empty()) 29 { 30 return true; 31 } 32 else 33 return false; 34 } 35 36 int main() 37 { 38 cout << isValid("()[()]") << endl; 39 }