[jobdu]栈的压入、弹出序列

用一个栈辅助,模拟过程+判断就可以了。

#include <iostream>
#include <memory.h>
#include <stack>
#define LEN 100005
using namespace std; int A[LEN];
int B[LEN];
int main()
{
int n;
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
cin >> A[i];
}
for (int i = 0; i < n; i++)
{
cin >> B[i];
}
stack<int> st;
int i = 0;
int j = 0;
while (true)
{
if (j == n)
{
cout << "Yes" << endl;
break;
}
if (st.empty() || st.top() != B[j])
{
if (i == n)
{
cout << "No" << endl;
break;
}
st.push(A[i]);
i++;
}
else
{
st.pop();
j++;
}
}
}
return 0;
}

  

上一篇:poj 3431 Expedition 优先队列


下一篇:python flask应用部署