剑指offer
文章平均质量分 65
刷题总结
guluuwater
永远相信功夫不负有心人。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
旋转数组的最小数字
题目描述 分析:根据题意可知,旋转数组就是将一个递增的数组分成两个递增数组去看待,一个在前,一个在后,后面的数组是值较小的数组,前面的数组是值较大的数组。 思路一:暴力法,直接遍历。 我们已经知道,不考虑特殊情况,在前面的数组是值较大的数组,在后面的数组是值较小的数组。那么我们可以遍历数组,对前后两个数字进行比较,直到出现当前数字比前一个数字小的情况,那么当前数字就是在整个数组中值最小的那一个。 特殊情况1:整个数组就是递增的,也就是说旋转的时候,把0个数字放在了后面,相当于整个数组没有变,那么我们在原创 2021-03-09 01:44:20 · 262 阅读 · 0 评论 -
重建二叉树--递归求解
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 首先需要明白的基础知识: 二叉树前序遍历的第一个元素为二叉树的根节点 拿到根节点后,在二叉树的中序遍历中找到这个根节点的值,则在二叉树的中序遍历中,该根节点前面的数都属于根节点的左子树,后面的数都属于右子树。 因此在可以将前序遍历和中序遍历的数组划分为: 前序遍历:[ 根节点 | [左子树的前序遍历] | [右子树的前序遍历] ] 中序遍历:[[左子树的中序遍历] | [根节点] |.原创 2021-03-06 15:31:29 · 167 阅读 · 0 评论
分享