(栈)括号匹配问题

c语言版

bool cheak(char* str)
{
     Stack stack;
     stack_init(stack);
     for(int i = 0; str[i] != '\0';i++)
     {
        if(str[i] == '(')
            stack_push(stack,'(');
        else if(str[i] == ')')
        {
              if(stack_empty(stack)) return false;  //当栈为空时,字符串为')'时是永远不匹配的,相当于以‘)’开头,返回false
              stack_pop(stack);       
        }
     }
      bool res = stack_empty(stack);
      stack_destory(stack);
      return res;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容