輸入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1示例 2:輸出:3
解釋:節點 5 和節點1 的最近公共祖先是節點 3 。
輸入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4示例 3:輸出:5
解釋:節點 5 和節點4 的最近公共祖先是節點 5 。因為根據定義最近公共祖先節點可以為節點本身。
輸入:root = [1,2], p = 1, q = 2解法:輸出:1
參考遞迴解析:
終止條件:
遞推工作:
返回值:根據 left 和 right ,可展開為四種情況;
當 left 不為空 , right 為空 :與情況 3. 同理;
class
solution
else
if(left!=null && right!=null)
else
}}
二叉樹的最近公共祖先
給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,null,7,4 思路 剛開始使用boolean來判斷要查詢的兩節點在左右孩子上,後面修改為使用treenode與null判斷兩節點位置 1 分別向左孩子和右孩子遞迴。2 若當...
二叉樹的最近公共祖先
輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 1 輸出 3 輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 4 輸出 5 法1 分別找出根節點到兩個節點的路徑,則最後乙個公共節點就是最低公共祖先。法2 public treen...
二叉樹的最近公共祖先
例如,給定如下二叉樹 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 輸入 root 3,5,1,6,2,0,...