![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
文章平均质量分 58
michaelbinwang
这个作者很懒,什么都没留下…
展开
-
各种Binary Tree定义
参考 wikipedia 各类二叉树的定义 每个节点 children = 0 / 2,为 full binary tree 简单讲就是没有奇葩的单节点“拐弯”。 按 level order 从左到右依次(尽量)填满,为 complete binary tree.转载 2016-12-06 05:52:53 · 537 阅读 · 0 评论 -
LCA 类问题
LCA 类问题 LCA 类问题是二叉树的高频问题之一; 有只给 root 的; 还有不给 root 给 parent pointer 的。 想面 FB,最好把各种二叉树问题的 recursion / iteration 还有 root / parent pointer 的写法都练熟才行,只 AC 是不够的。 下面这种向哪里走的问题,直接用尾递归解决转载 2016-12-06 05:56:47 · 225 阅读 · 0 评论 -
三序遍历以及Vertical Order
Binary Tree Preorder Traversal preorder 直接用 stack;inorder 用 stack + cur;postorder 用 stack + cur + prev; 递归 ✓ 迭代 ✓ parent ✓ 复杂度 ✓ 迭代的写法过于 trivial 就不细说了,记得因为 stack 先入后出的特点,push 的转载 2016-12-06 08:23:50 · 415 阅读 · 0 评论 -
Tree, Min/Max/Balanced Depth
Maximum Depth of Binary Tree public class Solution { public int maxDepth(TreeNode root) { if(root == null) return 0; return Math.max(maxDepth(root.left), maxDepth(root.right)) +转载 2016-12-07 00:43:27 · 434 阅读 · 0 评论 -
BST
Closest Binary Search Tree Value 所谓 “最近的点”,可能是 parent ,可能是 child,可能在左边,也可能在右边。 所以一要存好 prev; 二要两边都探,不能沿着一边硬走。 使用二叉树的preoder traversal,不断update closet value public class Solution {转载 2016-12-07 02:38:15 · 336 阅读 · 0 评论