题解 | #栈的压入、弹出序列#
栈的压入、弹出序列
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