我不知道你用的这个IDE是什么,但是单纯代码已经C++标准说的话
首先 没有 using namespace std 命名空间,所以找不到 string 和 stack 的定义
其次,栈 stack 是 小写 s, 你的是大写,然后 定义的栈模板变为小写了 ,建议换一下
- #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>();
- //这个 toCharArrary 我不知道你想调用哪个函数
- for (char c : s.toCharArrary())
- {
- if (c == '(')
- Stack->push(')');
- else if (c == '[')
- Stack->push(']');
- else if (c == '{')
- Stack->push('}');
- else if (Stack->empty() || c != Stack->top())
- Stack->pop();
- return false;
- }
- return Stack->empty();
- }
- };
复制代码
可能是因为IDE的不一样,导致模板库里面封装的函数不一样,你根据实际情况改改把