摘要:
想法:借助队列。从根节点开始遍历, (1)遍历根节点8时,打印8,将遍历得到的子节点从左到右放入队列,就是先放6,后放10 假设队列左边进右边出:10,6 (2)下一个从队列里取出来6遍历,打印6,将它的子节点5和7放入队列 此时队列:7,5,10 (3)下一个取出来10遍历,打印10,将它的子节点 阅读全文
摘要:
想法:首先建立辅助栈。如果下一个弹出的数字刚好是栈顶数字,则直接弹出。若下一个弹出的数字不在栈顶,则把压栈序列中还没有入栈的数字压入辅助栈,直到把下一个需要弹出的数字压入栈顶为止。若所有的数字都压入栈了仍没有找到下一个弹出的数字,则表明该序列不可能滴一个弹出序列。 (1)根据我们想要的弹出序列,第一 阅读全文
摘要:
题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。 分析:google的一道面试题。我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素将是最小元素。但由于不能保证最后push进栈 阅读全文