22栈的压入,弹出序列

原创 2015年07月08日 21:17:30



bool IsPopOrder(const int* pPush, const int* pPop, int nLength)
{
bool bPossible = false;
if (pPush != NULL&&pPop != NULL&&nLength > 0)
{
const int* pNextPush = pPush;
const int* pNextPop = pPop;
std::stack<int> stackData;
while (pNextPop - pPop < nLength)
{
while (stackData.empty() || stackData.top() != *pNextPop)
{
if (pNextPush - pPush == nLength)
break;//判断是否第一个序列全都压入栈
stackData.push(*pNextPush);
pNextPush++;
}
if (stackData.top() != *pNextPop)
break;
stackData.pop();
pNextPop++;
}
if (stackData.empty() && pNextPop - pPop == nLength)//第二个序列中还有元素
bPossible = true;
}
return bPossible;
}

剑指Offer:面试题22——栈的压入,弹出序列(java实现)

题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该...
  • lilianforever
  • lilianforever
  • 2016年07月07日 11:46
  • 1212

【剑指offer】栈的压入弹出序列

剑指offer上的第22题,九度OJ上AC。 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是...
  • mmc_maodun
  • mmc_maodun
  • 2014年05月18日 08:13
  • 3776

剑指Offer面试题22(Java版):栈的压入、弹出序列

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。 假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压栈序列,序列,4,5,3,2,1是该压栈...
  • jsqfengbao
  • jsqfengbao
  • 2015年08月03日 20:00
  • 1833

【剑指Offer】栈的压入、弹出序列

问题描述:输入两个整数序列,第一个序列表示栈的压入顺序, 请判断第二个序列是否为该栈的弹出顺序。假设压入 栈的所有数字均不相等。例如序列1,2,3,4,5是某栈 的压入顺序,序列4,5,3...
  • zgljl2012
  • zgljl2012
  • 2015年09月30日 09:16
  • 900

面试题20:栈的压入、弹出序列

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压栈序列...
  • htyurencaotang
  • htyurencaotang
  • 2013年07月22日 15:18
  • 2899

《剑指Offer》面试题:栈的压入弹出序列是否匹配

题目 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 例如序列1,2,3,4,5是某栈的压入顺序,序列4...
  • u010412719
  • u010412719
  • 2015年09月21日 20:49
  • 1164

栈的压入、弹出序列和栈所有可能的弹出顺序

题目:输入两个整数序列,第一序列表示栈的压入顺序,判断第二个序列是否为该栈弹出顺序。经典的一个笔试题目。 首先学会判断某个弹出序列是否为某个栈的压入序列。 第一种方法通过进行全排列,然后检测是否满足弹...
  • huruzun
  • huruzun
  • 2014年03月24日 20:14
  • 1431

(牛客网)栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一...
  • qq_15015129
  • qq_15015129
  • 2017年06月08日 14:34
  • 116

剑指offer面试题[22]-栈的压入、弹出序列

题目描述        输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,...
  • sinat_33718563
  • sinat_33718563
  • 2017年07月01日 16:22
  • 132

判断一个序列是否为另一个栈的出栈序列(栈的压入、弹出序列)

判断一个序列是否为另一个栈的出栈序列 【思路】借用一个辅助的栈,遍历压栈顺序,先讲第一个放入栈中,这里是1,然后判断栈顶元素是不是出栈顺序的 第一个元素,这...
  • l_tudou
  • l_tudou
  • 2016年07月25日 11:31
  • 579
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:22栈的压入,弹出序列
举报原因:
原因补充:

(最多只允许输入30个字)