給定一個二叉搜索樹, 找到該樹中兩個指定節(jié)點的最近公共祖先。 1.對于該題的最近的公共祖先定義:對于有根樹T的兩個節(jié)點p、q,最近公共祖先LCA(T,p,q)表示一個節(jié)點x,滿足x是p和q的祖先且x的深度盡可能大。在這里,一個節(jié)點也可以是它自己的祖先. 2.二叉搜索樹是若它的左子樹不空,則左子樹上所有節(jié)點的值均小于它的根節(jié)點的值; 若它的右子樹不空,則右子樹上所有節(jié)點的值均大于它的根節(jié)點的值 3.所有節(jié)點的值都是唯一的。 4.p、q 為不同節(jié)點且均存在于給定的二叉搜索樹中。 數(shù)據(jù)范圍: 3 0 如果給定以下搜索二叉樹: {7,1,12,0,4,11,14,#,#,3,5},如下圖:
示例1
輸入
{7,1,12,0,4,11,14,#,#,3,5},1,12
說明
節(jié)點1 和 節(jié)點12的最近公共祖先是7
示例2
輸入
{7,1,12,0,4,11,14,#,#,3,5},12,11
說明
因為一個節(jié)點也可以是它自己的祖先.所以輸出12
加載中...