栈的压入、弹出序列
2020-08-19 本文已影响0人
棉花糖7
这道题算是一道基础题,只是自己竟然没有任何想法。这道题用了一个辅助栈。用来直接模拟栈的压入和弹出。
题解:
让两个指针i,j分别指向pushV,popV
1)当pushV[i] != popV[j]的时候,压入辅助栈st, i++
2)当 pushV[i] =popV[j] 的时候,说明这个元素是一如栈,马上就被弹出,所以 i++, j++ 。
此时还要判断,栈顶的元素 是否和 popV[j] 的元素相等,如果相等就弹出。同时 j++
3)最后就是当 i >= pushV.size() 的时候,结束循环。判断辅助栈是否为空,如果为空,就说明,已经全部弹出,是正确的弹栈顺序。否则为错误的。
题目 图解 code