栈的应用
CAFEBABE丶
颤抖吧丶发际线
展开
-
剑指Offer_从尾到头打印链表
题目描述: 输入一个链表,从尾到头打印链表每个节点的值。思路:对于逆序的话,我们首先应该想到利用栈的性质,栈进去是顺序,出来后就是逆序了;所以有:Copy版: public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> l...原创 2018-06-29 14:37:42 · 121 阅读 · 0 评论 -
剑指Offer_用两个栈来实现队列
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 先给子弹编号,放到你的弹夹里,把你弹夹里面的子弹换到另一个人的弹夹里,当另一个人的弹夹里有子弹的时候,就直接取出来,那么就是满足题意的,如果另一个人的弹夹没有子弹了,就从你的弹夹里取出来,再放进去就可以了; Copy版: Stack<Integer> sta...原创 2018-06-29 15:16:37 · 127 阅读 · 0 评论 -
剑指Offer_栈的压入、弹出序列
题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 思路1:从出栈的角度考虑;(如果栈是空...原创 2018-06-30 21:14:56 · 92 阅读 · 0 评论