#y1097. 二叉树_最近公共祖先

二叉树_最近公共祖先

【题目来源】

https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。
【输入文件】

第一行表示一颗二叉树用数组存储

第二行表示二叉树数据

第三行表示p和q
image 输入:

11

3 5 1 6 2 9 8 0 0 7 4

5 1

输出:

3

输入:

11

3 5 1 6 2 9 8 0 0 7 4

5 4

输出:

5

【提示】

0代表左孩子或者有孩子为空

提示:

树中节点数目在范围 [2, 100000] 内。

1 <= Node.val <= 100

所有 Node.val 互不相同 。

p != q

p 和 q 均存在于给定的二叉树中