二叉树
Charles.zhang
朝闻道,夕死可矣。路漫漫其修远兮,吾将上下而求索。
展开
-
lintcode练习 - 246. 二叉树的路径和 II
246. 二叉树的路径和 II给一棵二叉树和一个目标值,设计一个算法找到二叉树上的和为该目标值的所有路径。路径可以从任何节点出发和结束,但是需要是一条一直往下走的路线。也就是说,路径上的节点的层级是逐个递增的。样例对于二叉树: 1 / \ 2 3 / /4 2给定目标值6。那么满足条件的路径有两条:[ [2, 4], [1, 3...原创 2018-09-01 21:33:30 · 520 阅读 · 0 评论 -
lintcode练习-453. 将二叉树拆成链表
453. 将二叉树拆成链表将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针。样例 1 \ 1 2 / \ \ 2 5 => 3 / \ \ \ 3...原创 2018-09-01 22:09:20 · 227 阅读 · 0 评论 -
lintcode练习 - 86. 二叉查找树迭代器
86. 二叉查找树迭代器设计实现一个带有下列属性的二叉查找树的迭代器:元素按照递增的顺序被访问(比如中序遍历) next()和hasNext()的询问操作要求均摊时间复杂度是O(1)样例对于下列二叉查找树,使用迭代器进行中序遍历的结果为 [1, 6, 10, 11, 12] 10 / \1 11 \ \ 6 12挑战...原创 2018-09-08 14:58:33 · 229 阅读 · 0 评论 -
lintcode练习 - 88. Lowest Common Ancestor of a Binary Tree
88. Lowest Common Ancestor of a Binary Tree给定一棵二叉树,找到两个节点的最近公共父节点(LCA)。最近公共祖先是两个节点的公共的祖先节点且具有最大深度。样例对于下面这棵二叉树 4 / \3 7 / \ 5 6LCA(3, 5) = 4LCA(5, 6) = 7LCA(6, 7) = 7注意事...原创 2018-09-08 15:51:21 · 229 阅读 · 0 评论 -
lintcode练习 - 93. 平衡二叉树
93. 平衡二叉树给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。 样例给出二叉树 A={3,9,20,#,#,15,7}, B={3,#,20,15,7}A) 3 B) 3 / \ \ 9 20 ...原创 2018-09-08 19:42:52 · 240 阅读 · 0 评论 -
lintcode练习 - 480. 二叉树的所有路径
480. 二叉树的所有路径给一棵二叉树,找出从根节点到叶子节点的所有路径。样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"] """Definition of TreeNode:class TreeNode: def __init_...原创 2018-09-10 16:23:26 · 270 阅读 · 0 评论 -
lintcode练习 - 85. 在二叉查找树中插入节点
85. 在二叉查找树中插入节点给定一棵二叉查找树和一个新的树节点,将节点插入到树中。你需要保证该树仍然是一棵二叉查找树。样例给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的: 2 2 / \ / \1 4 --> 1 4 / / \ 3 ...原创 2018-09-07 16:12:40 · 662 阅读 · 0 评论 -
lintcode练习 - 87. 删除二叉查找树的节点
87. 删除二叉查找树的节点给定一棵具有不同节点值的二叉查找树,删除树中与给定值相同的节点。如果树中没有相同值的节点,就不做任何处理。你应该保证处理之后的树仍是二叉查找树。样例给出如下二叉查找树: 5 / \ 3 6 / \2 4删除节点3之后,你可以返回: 5...原创 2018-09-07 17:43:19 · 262 阅读 · 0 评论