![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
文章平均质量分 63
LFJ17
Fighting
展开
-
lintcode——二叉树的最大深度
1.题目 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.2.思路 用递归算法。感觉是和遍历一样,只不过要进行计数。 先遍历右子树直到叶子结点,此时返回0,在归的过程中原创 2017-04-07 21:48:34 · 285 阅读 · 0 评论 -
lintcode——二叉树总结
在这个专题里对二叉树遍历的几道题最基础的东西了,后面的题目基本上都是在遍历的基础上进行一些数据的保存、判断、划分等操作。 不得不说对于二叉树的问题,递归是最好用的了!!!以前学习递归的的时候也没怎么应用,感觉理解的不是很透彻,通过做这个专题的题目,自己也搜了很多关于递归的定义理解的东西加深了对递归算法的了解:递归算法解决问题的特点:(1) 递归就是在过程原创 2017-04-21 19:06:15 · 288 阅读 · 0 评论 -
lintcode——二叉树的所有路径
1、题目 给一棵二叉树,找出从根节点到叶子节点的所有路径哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase Nvidia Orac原创 2017-04-13 23:27:50 · 318 阅读 · 0 评论 -
lintcode——把排序数组转换为高度最小的二叉搜索树
1、题目 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。 注意事项 There may exist multiple valid solutions, return any of them.样例 给出数组 [1,2,3,4,5,6,7], 返回 4 / \ 2 6 / \ / \1 3原创 2017-04-12 20:10:39 · 862 阅读 · 0 评论 -
lintcode——将二叉树拆成链表
1、题目 将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的next 指针。注意事项不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出。样例 1 \ 1 2 / \ \原创 2017-04-11 18:16:28 · 293 阅读 · 0 评论 -
lintcode——等价二叉树
1、题目2、思路 对两课二叉树从以下几种情况考虑: ① 两个均空,true; ②一个空另一个不空,false; ③两个不空: (对两棵树递归,依次比较每一层的左右子树) 子树节点值完全一样,true; 子树节点值不完全一样,false;3、代码/**原创 2017-04-09 15:28:20 · 445 阅读 · 0 评论 -
lintcode——翻转二叉树
1、题目 翻转一棵二叉树哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase Nvidia Oracle Pinterest Sna原创 2017-04-09 15:04:04 · 400 阅读 · 0 评论 -
lintcode——二叉树的最大节点
1、问题 在二叉树中寻找值最大的节点并返回。哪家公司问你的这个题?AirbnbAlibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase Nvidia Oracle原创 2017-04-09 12:23:09 · 1827 阅读 · 0 评论 -
lintcode——克隆二叉树
1、题目 深度复制一个二叉树。 给定一个二叉树,返回一个他的 克隆品 。哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase Nvi原创 2017-04-09 00:04:19 · 552 阅读 · 0 评论 -
lintcode——二叉树的后序遍历
1、题目 给出一棵二叉树,返回其节点值的后序遍历。哪家公司问你的这个题? Airbnb Alibaba Amazon Apple Baidu Bloomberg Cisco Dropbox Ebay Facebook Google Hulu Intel Linkedin Microsoft NetEase Nvidia Oracle Pint原创 2017-04-08 00:52:41 · 291 阅读 · 0 评论 -
lintcode——二叉树的层次遍历
1、题目 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)样例 给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7返回他的分层遍历结果:[ [3], [9,20], [15,7]]2、思路 层次遍历比前、中、后序遍历多了一些要处理的问题,比如:如何将每一原创 2017-04-08 00:36:07 · 316 阅读 · 0 评论 -
lintcode——二叉树的中序遍历
1、题目 给出一棵二叉树,返回其中序遍历样例 给出二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [1,3,2].2、思路 和前序遍历是一样的,用递归算法。不过是中间遍历根节点了·~~~~3、代码/** * Definition of TreeNode: * class TreeNode {原创 2017-04-08 00:30:40 · 257 阅读 · 0 评论 -
lintcode——二叉树的前序遍历
1、题目 给出一棵二叉树,返回其节点值的前序遍历。样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3].2、思路 用递归前序遍历。 递归遍历左子树,再遍历根节点,最后遍历右子树。每一次回溯把当前根节点添进向量。3、代码/** * Definition of T原创 2017-04-08 00:18:08 · 1454 阅读 · 0 评论 -
lintcode——二叉树的最小深度
1.题目 给定一个二叉树,找出其最小深度。 二叉树的最小深度为根节点到最近叶子节点的距离。样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最小深度为 22.思路 先考虑空树,返回0;原创 2017-04-07 23:59:24 · 267 阅读 · 0 评论 -
lintcode——子树
1、题目 有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。注意事项若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。样例 下面的例子中 T2 是 T1 的子树:原创 2017-04-20 18:14:36 · 227 阅读 · 0 评论