![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer练习
寰宇的行者
当学习成为一种习惯
展开
-
剑指offer——重建二叉树
题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路: 因为前序遍历的第一个数为二叉树的根结点,二中序遍历根结点将二叉树分为左子树和右子树,这样就可以进行递归运算 solut原创 2017-02-21 11:18:08 · 347 阅读 · 0 评论 -
剑指offer——双栈实现队列pop和push
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 队列的元素直接存放在stack1中,按照栈的方式存储,出队列的时候要注意。将所有元素全部出栈后,最后一个元素才是队列应该出的元素 Solution.h #include #include using namespace std; class Solution { public:原创 2017-02-21 17:06:24 · 597 阅读 · 0 评论 -
剑指offer——)旋转数组的最小数字
#include #include"Solution.h" using namespace std; /*题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 *原创 2017-04-21 22:14:56 · 387 阅读 · 0 评论