栈的压入、弹出序列
2015-04-23 11:19
113 查看
题目1366:栈的压入、弹出序列
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2364
解决:894
题目描述:
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
输入:
每个测试案例包括3行:
第一行为1个整数n(1<=n<=100000),表示序列的长度。
第二行包含n个整数,表示栈的压入顺序。
第三行包含n个整数,表示栈的弹出顺序。
输出:
对应每个测试案例,如果第二个序列是第一个序列的弹出序列输出Yes,否则输出No。
样例输入:
样例输出:
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2364
解决:894
题目描述:
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
输入:
每个测试案例包括3行:
第一行为1个整数n(1<=n<=100000),表示序列的长度。
第二行包含n个整数,表示栈的压入顺序。
第三行包含n个整数,表示栈的弹出顺序。
输出:
对应每个测试案例,如果第二个序列是第一个序列的弹出序列输出Yes,否则输出No。
样例输入:
51 2 3 4 54 5 3 2 151 2 3 4 54 3 5 1 2
样例输出:
Yes
No
#include <stack> #include <cstdio> using namespace std; bool judge(int *stack_in,int *stack_out,int n) { stack<int> st; int j=0; bool is_valid=true; for(int i=0;i<n;i++) { if(st.size()>0&&stack_out[i]==st.top()) st.pop(); else { bool find=false; for(;j<n;j++) { st.push(stack_in[j]); if(stack_in[j]==stack_out[i]) { j++; find=true; break; } } if(find) st.pop(); else { is_valid=false; break; } } } return is_valid; } int main() { int n; int i,j; bool is_valid; while(scanf("%d",&n)!=EOF) { int *stack_in=new int ; int *stack_out=new int ; for(i=0;i<n;i++) scanf("%d",&stack_in[i]); for(j=0;j<n;j++) scanf("%d",&stack_out[j]); is_valid=judge(stack_in,stack_out,n); if(is_valid) printf("Yes\n"); else printf("No\n"); delete[] stack_in; delete[] stack_out; } return 0; } /************************************************************** Problem: 1366 User: road Language: C++ Result: Accepted Time:190 ms Memory:2228 kb ****************************************************************/
相关文章推荐
- 栈的压入和弹出序列
- 栈的压入、弹出序列
- 剑指offer——面试题22:栈的压入和弹出序列
- 栈的压入、弹出序列
- 栈的压入、弹出序列 和从上往下打印二叉树(层序遍历)
- 栈的压入弹出序列
- 面试题22:栈的压入、弹出序列
- 剑指offer面试题[22]-栈的压入、弹出序列
- 剑指offer-4-面试题22:栈的压入、弹出序列
- 《剑指offer》栈的压入、弹出序列
- 栈的压入、弹出序列
- 剑指offer系列之二十:栈的压入、弹出序列
- 【刷题之路】栈的压入、弹出序列
- 《剑指Offer》面试题22:栈的压入,弹出序列
- 题目1366:栈的压入、弹出序列
- 九度 OJ 题目1366:栈的压入、弹出序列
- 《剑指Offer》学习笔记--面试题22:栈的压入、弹出序列
- 栈的压入、弹出序列
- 牛客网——栈的压入、弹出序列
- 【数据结构】栈的压入、弹出序列