剑指offer
emi_97
这个作者很懒,什么都没留下…
展开
-
(五)用两个栈实现队列
题目 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 栈:特点是先进后出 队列:特点是先进先出 设有两个栈stack1和stack2,stack1中有三个元素{1,2,3},且按从栈底到栈顶顺序为{1,2,3}。此时,若我们要按队列顺序取出{1,2,3},即按照栈的压入顺序弹出元素,但由于栈先进后出特性我们只能从stack1中按{3,2,1}这样的顺序取出栈中元素。但别忘了,我们还有一个栈stack2是空着的,如果我们将stack1中取出的元素{3,2,1}依次原创 2021-08-27 10:15:19 · 88 阅读 · 0 评论 -
(四)重建二叉树
题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 提示 关于二叉树的前序遍历,中序遍历,后序遍历。 前序遍历:先访问根结点,再访问左子结点,最后访问右子结点。 中序遍历:先访问左子结点,再访问根结点,最后访问右子结点。 后序遍历:先访问左子结点,再访问右子结点,最后访问根结点。 因此,当知道树的遍历方式中原创 2021-08-26 11:25:25 · 45 阅读 · 0 评论