一、题目
二、思路
1、新建一个栈,把入栈元素逐个添加进去,判断栈顶元素和出栈元素的首个是否相等,如果相等则出栈,并删除入栈元素中的首个元素
2、最后判断出栈元素是否还有
三、代码
class Solution
{
public:
bool IsPopOrder(vector<int> pushV, vector<int> popV)
{
if(pushV.empty() || popV.empty())
{
return false;
}
stack<int> res;
for(int i=0;i<pushV.size();++i)
{
res.push(pushV[i]);
while(res.top()==*popV.begin())
{
res.pop();
popV.erase(popV.begin());
if(popV.empty())
{
return true;
}
if(res.empty())
{
break;
}
}
}
if(popV.empty())
{
return true;
}
else
{
return false;
}
}
};