栈的压入、弹出序列

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
上一篇 下一篇

猜你喜欢

热点阅读