今日分享一个关于栈和队列经典题目,笔者在秋招过程中笔试考过多次。
题目:
设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是?
解答:
出队先出e2表示e1,e2进栈后出e2(这时栈的容量最大为2),接着出e4,e3表示e3,e4进栈后出e4,e3(这时栈的容量最大为3),再出e6,e5表示e5,e6进栈后出e6,e5(这时栈的容量最大为3),最后出e1,所以答案应该是 3
这里考察的知识点就是:栈(stack)是先入后出,后入先出,删除与加入均在栈顶操作。
队列(queue)是先入先出,很好理解,就是个通道。
如果喜欢我的文章,欢迎关注、点赞和转发,下面可以留言~~~