爱学习520 发表于 2020-9-4 12:46:42

这个是什么错误,看不出来,求大佬



代码:
#include<string>
#include<stack>
using namespace std;

class Solution
{
public:
    bool isValid(string s)
    {
      if (s.length() % 2 != 0)
            return false;

      stack<char>* Stack = new stack<char>();
      
      for (char c : s)
      {
            if (c == '(')
                Stack->push(')');
            else if (c == '[')
                Stack->push(']');
            else if (c == '{')
                Stack->push('}');
            else if (Stack->empty() || c != Stack->pop())
                return false;

      }
      return Stack->empty();
    }
};

int main(){
   
    Solution s;

}

shooan 发表于 2020-9-4 13:37:57

stack 的pop没有返回值的,pop只有弹出栈顶元素的功能。获取栈顶元素应该使用 top 。
页: [1]
查看完整版本: 这个是什么错误,看不出来,求大佬