一个序列是否可能是push序列的pop序列
来源:互联网 发布:js 原型 编辑:程序博客网 时间:2024/05/01 22:16
输入:两个序列A、B,A作栈的push序列,判断B是否可能是A的pop序列。
#include<iostream>#include<stack>using namespace std;bool solution(const int* apush, const int* apop, int len){ if(len < 1) return false; int i = 0, j = 0; stack<int> stack; while(j < len || !stack.empty()){ if(i < len){ if(apush[i] != apop[j]) stack.push(apush[i++]); else i++, j++; } while(!stack.empty() && stack.top() == apop[j]) stack.pop(), j++; if(i == len && !stack.empty()) break; } return stack.empty() && j == len;}int main(){ int aPush[5] = {1, 2, 3, 4, 5}; int aPop[5] = {4, 3, 5, 2, 1}; cout<<solution(aPush, aPop, 5); return 0;}//output: 1
0 0
- 一个序列是否可能是push序列的pop序列
- 谈谈如何判断一个Pop序列是否是一个Push序列的Pop顺序
- 第29题:判断一个序列是否是另一个push序列的pop序列
- 栈的push、pop序列-判断序列是否是栈的pop顺序
- 栈的push、pop序列是否正确
- 输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序
- 题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。
- 【算法】输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。
- 两个整数序列,其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
- 输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序
- 输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
- 微软算法100道题-------输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。
- 输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。 为了简单起见,我们假设push序列的任意两个整数都是不相等的
- 输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。 为了简单起见,我们假设push序列的任意两个整数都是不相等的
- java判断一个序列是否可能是另外一个压栈序列的弹出序列
- 栈的push、pop序列
- 栈的push,pop序列
- 栈的push、pop序列
- 黑马程序员--协议
- Ghost操作系统是否有必要集成万能驱动安装环境
- 大大大大大大的当地人
- poi
- PreferenceActivity的简单自定义
- 一个序列是否可能是push序列的pop序列
- CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2
- OpenCV基础篇之读取显示图片
- 候选码求解方法
- c编程
- OpenCV基础篇之像素操作对比度调节
- http://kb.cnblogs.com/page/106720/
- DSP/BIOS使用之初窥门径——滴答时钟及烧写Flash
- Android网络编程之获取网络上的Json