236 二叉樹的最近公共祖先

2022-08-23 06:33:13 字數 437 閱讀 6235

解題思路:

遞迴看起來是從上往下,實際上從下往上的。如果發現在左右子樹乙個為空,乙個不為空,就證明在那個不為空的子樹。我們不需要關心p和q到底返回的是具體哪個,只需要知道左右不為空就行

有三種情況,p q 都在左子樹或右子樹,p q分別在左子樹和右子樹,

判斷當前遍歷的節點是否為空,為空返回null,節點是否等於p,是否等於q,是的話返回null。

之後判斷left 和right是否為空, 若都不為空 ,則當前root為答案,若其中乙個為空,則返回另一邊,為答案。

1

/**2

* definition for a binary tree node.

3* public class treenode

8* }9*/

10class

solution

22 }

236 二叉樹最近公共祖先

給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。最近公共祖先的定義為 對於有根樹 t 的兩個結點 p q,最近公共祖先表示為乙個結點 x,滿足 x 是 p q 的祖先且 x 的深度盡可能大 乙個節點也可以是它自己的祖先 例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,nu...

236 二叉樹的最近公共祖先

給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,null,7,4 示例 1 輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 1輸出 3解釋 節點5和節點1的最近公共祖先是節點3。示例 2 ...

236 二叉樹的最近公共祖先

給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,null,7,4 示例 1 輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 1 輸出 3 解釋 節點 5 和節點 1 的最近公共祖先是節點 ...