北京专业做网站电话,物流公司官方网站建设方案,旅游门户网站建设方案,怎样打造营销型网站建设序列1#xff0c;2#xff0c;3#xff0c;4#xff0c;5是压栈序列。序列 4#xff0c;3#xff0c;5#xff0c;1#xff0c;2是弹出序列。判断第二个是不是弹出序列
三步走
如果下一个弹出的数字刚好是栈顶数字#xff0c;直接弹出如果不在栈顶#xff0c;就一直…序列12345是压栈序列。序列 43512是弹出序列。判断第二个是不是弹出序列
三步走
如果下一个弹出的数字刚好是栈顶数字直接弹出如果不在栈顶就一直把第一个数组的数字入栈直到要把下一个要弹出的数字压入栈如果所有数字都入栈完毕还没有找到下一个弹出的数字则就不可能是一个弹出序列
放大看原图 笔试代码
bool IsfPopOrder(const int *pPush,const int*pPop,int nLength)
{if(pPush ! nullptr pPop ! nullptr nLength 0){const int *pNextPush push;const int *pNextPop pop;std::stackint stackData;while(pNextPop - pop nLength){while(stackData.empty() || stackData.top() ! *pNextPop){if(pNextPush - pPush nLength)break;stackData.push(*pNextpush);pNextpush;}if(stackData.top() ! *pNextPop)break;stackData.pop();pNextPop;}}
}