一道小题加深对栈后进先出的理解(python)
今天有人问了我一道题,如下: 意思就是给定一个顺序为654321的栈,判断下面的栈是否是正确的。 解题思路 栈的元素存储与利用是遵循后进先出(LIFO)的,如下图,我们可以用一个半开口的方框表示栈,开口的一端称为栈顶,就是这端进行着压栈(push)和出栈(pop)操作。 对于给定的待判断序列,比如这里的A选项453126,我们可以依次按照这个序列的顺序进行推演, 首先是第一个元素4,我们可以用这个元素”4′′将原栈一分为二,即第一步,左边为原栈wt,右边为st_tmp,注意st_tmp开口方向相反。 然后我们先判断st的栈顶是否是当前遍历的元素”4′′,如果是就pop掉,并遍历下一个元素”5′′
下载地址
用户评论