用栈判断是否是平衡括号 Check for balanced parentheses using stack

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 05:18   603   0
bool CheckBlancedParentheses(char* ch)
{
 if(NULL == ch)
  return false;
 stack <char> s;
 char* tmp = ch;
 while(*tmp)
 {
  if( '(' == *tmp || '[' == *tmp || '{' == *tmp)
   s.push(*tmp);
   
  else if( ')' == *tmp)
  {
   if(s.empty())
    return false;
   else if('(' != s.top())
    return false;
   else s.pop();
  }
  else if( ']' == *tmp)
  {
   if(s.empty())
    return false;
   else if('[' != s.top())
    return false;
   else s.pop();
  }
  else if( '}' == *tmp)
  {
   if(s.empty())
    return false;
   else if('{' != s.top())
    return false;
   else s.pop();
  }
  
  tmp++;
 }
 if(s.empty())
  return true;
 return false;
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP