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

栈的压入、弹出序列

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

全部评论

相关推荐

点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
Java抽象练习生:教育背景放最前面,不要耍小聪明
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务