int IsMatch(char* str ) { assert(str!=NULL); stack<char> stk; int bResult=0; while(*str!=NULL) { if(*str=='['||*str=='(') stk.push(*str); if(*str==']') { d if(stk.empty()) { bResult=1; break; } else if(stk.top()=='[') { stk.pop(); } else { bResult=1; break; } } if(*str==')') { if(stk.empty()) { bResult=1; break; } else if(stk.top()=='(') { stk.pop(); } else { bResult=1; break; } } str++; } if(!stk.empty()) bResult=1; return bResult; }