牛牛是一个对二叉树感兴趣的小牛,他想解决二叉树中两个节点的最近公共祖先问题。给定二叉树中的两个节点p和q,我们需要找到它们的最近公共祖先。 最近公共祖先的定义如下:在二叉树T中,节点p和q的最近公共祖先是同时拥有p和q作为后代的最低节点(这里允许一个节点作为其自身的后代)。 请实现一个函数,返回节点p和q的最近公共祖先。
示例1

输入

{3,5,1,6,2,0,8,#,#,7,4},6,4

输出

5
示例2

输入

{1,2,3},2,3

输出

1

备注:
树中节点的数量在范围[2, 10^5]内。-10^9 所有Node.val都是唯一的。p != qp和q存在于树中。
加载中...