滿二叉樹的最近公共祖先

2021-07-22 21:53:58 字數 469 閱讀 7909

滿二叉樹節點父子之間的關係。

//

題目描述

////

有一棵無窮大的滿二叉樹,其結點按根結點一層一層地從左往右依次編號,根結點編號為1。現在有兩個結點a,b。

//請設計乙個演算法,求出a和b點的最近公共祖先的編號。

//給定兩個int a, b。為給定結點的編號。請返回a和b的最近公共祖先的編號。注意這裡結點本身也可認為是其祖先。

//測試樣例:

//2,3

//返回:1

//思路:滿二叉樹的子節點與父節點之間的關係為root = child / 2

//利用這個關係,如果a != b,就讓其中的較大數除以2, 如此迴圈知道a == b,

//即是原來兩個數的最近公共祖先

class

lca

else

}return

a; }

};

二叉樹的最近公共祖先

給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。例如,給定如下二叉樹 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,...