题目地址:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/ 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p ...
分类:
编程语言 时间:
2020-05-10 19:24:17
阅读次数:
55
题目描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3 ...
分类:
其他好文 时间:
2020-05-10 19:13:41
阅读次数:
56
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,1, ...
分类:
其他好文 时间:
2020-05-10 19:04:48
阅读次数:
56
(https://leetcode cn.com/problems/lowest common ancestor of a binary tree/) 自己写这一题墨迹那么长时间最后还是选了一个超级暴力的方法,不仅代码长,而且很慢..... 具体思路就是进行在对树进行后序遍历的时候,对每个点进行一次 ...
分类:
其他好文 时间:
2020-05-10 17:06:00
阅读次数:
59
题目地址:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof/ 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 ...
分类:
编程语言 时间:
2020-05-10 17:00:00
阅读次数:
76
题目: 题目大意: 给一棵树,然后从树上拿出来几个点,问这几个点是否在同一条链上或者某些点和这条链的距离是否为1,满足 这样的条件 即 Yes,反之则 No. 考察点: LCA、最近公共祖先 侃侃: 同一条链上的点有啥特征呢? 在同一条链上,最深的点与较浅的点的最近公共祖先一定是 较浅的点。 所以, ...
分类:
其他好文 时间:
2020-05-03 20:42:56
阅读次数:
68
LCA( ),最近公共祖先,定义为两节点最近的公共祖先~~好像是废话~~ 前置芝士: 图论 此文章中均设 $\mathrm{fa}_i$ 为 $i$ 的父亲,$\mathrm{dep}_i$ 为 $i$ 的深度。 暴力 显然我们找出节点的所有祖先再 $n^2$ 比较即可。 当然你也可以一层层往上跳。 ...
分类:
其他好文 时间:
2020-05-03 10:18:17
阅读次数:
119
Description 有一个森林最初由 $n$ 个互不相连的点构成 你需要处理以下 $m$ 次操作: :添加从顶点A到B的边,使 $A$ 成为 $B$ 的子节点,其中保证 $A$ 是一个根顶点,$A$ 和 $B$ 在不同的树中。 :切断点 $A$ 到其父节点的边,保证 $A$ 是一个非根节点。 : ...
分类:
其他好文 时间:
2020-05-02 23:09:45
阅读次数:
65
题目: 解答: (递归) O(n) 当我们用递归去做这个题时不要被题目误导,应该要明确一点:这个函数的功能有三个:给定两个节点 p和 q (1)如果 p 和 q 都存在,则返回它们的公共祖先; (2)如果只存在一个,则返回存在的一个; (3)如果 p 和 q 都不存在,则返回NULL 本题说给定的两 ...
分类:
其他好文 时间:
2020-05-02 17:02:27
阅读次数:
47
最近公共祖先( ) 1. 概念 对于有根树 的两个结点 ,最近公共祖先 表示一个结点 ,满足 是`u,v`的 深度最大 的 祖先 节点。 算法分为 离线算法 和 在线算法 离线算法 ( ),是指基于在执行算法前输入数据已知的基本假设,也就是说,对于一个离线算法,在开始时就需要知道问题的所有输入数据, ...
分类:
其他好文 时间:
2020-05-02 09:31:09
阅读次数:
64