为了账号安全,请及时绑定邮箱和手机立即绑定

[([([(]]]))) 这个是判断不出来的

 //存在的

    MyStack<char> *pStack = new MyStack<char>(100);

    

    //需要的

    MyStack<char> *pNeedStack = new MyStack<char>(100);

    

    

     char str[] = "[([([(]]])))";

   // char str[] = "[()[()]]";

 

    for(int i=0;i<strlen(str);i++){

        char t = str[i];

        if(t == '('){

            pNeedStack->push(')');

         }else if(t == '['){

           pNeedStack->push(']');

         }else{

             pStack->push(t);

         }

    }


    if(pNeedStack->stackLength() == pStack->stackLength()){

          cout << "字符串匹配" << endl;

    }else{

           cout << "字符串不匹配" << endl;

    }



正在回答

1 回答

可能老师没讲清楚题意,我理解是 这个括号匹配是按 运算时候的括号 来要求的,即  成对的括号内才能套着成对的括号。比如【7+(6+(2+【1+2】))】 而不能 【(】【)】 这样就无法运算了 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

[([([(]]]))) 这个是判断不出来的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信