这个是什么错误,看不出来,求大佬
代码:
#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;
}
stack 的pop没有返回值的,pop只有弹出栈顶元素的功能。获取栈顶元素应该使用 top 。
页:
[1]