题解 | #栈的压入、弹出序列#

栈的压入、弹出序列

http://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106

写出来后比想象的要简单,先向空栈中压入一个无穷大的元素,使之非空
两个vector p1,p2
coun1表示入过栈的元素个数,count2表示已弹出元素的个数
规则:若栈顶元素与此时要弹出的元素不相等,从p1中往栈中压入元素,count1++;相等则从栈中弹出元素,count2++.

开始循环,直到弹出p2.size()个元素
while(s.top()!=p2[count2]&&count1<p1.size())
{
s.push(p1[count1]);
count1++;
}
//循环结束之后,要么栈顶等于要出的元素,否则代表所有元素都压入都没有要出的元素,return false

全部评论

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
头像
11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务