思路
遍历表达式数组,有上述三种括号时,放入栈中,遇到上述三种括号的反括号时,出栈。直到遍历结束。
代码
bool match(char str[]){
InitStack(S);
int i=0;
while(str[i]!='\0'){
switch(str[i]){
//左括号
case '[':
case '(':
case '{':Push(S,str[i]);break;
//右括号
case ']':Pop(S,e);if(e!=']')return false;break;
case ')':Pop(S,e);if(e!=')')return false;break;
case '}':Pop(S,e);if(e!='}')return false;break;
default:break;
}
i++;
}
if(!IsEmpty(S)) return false;
return true;
}