235 二叉搜尋樹的最近公共祖先

2021-09-12 09:02:31 字數 628 閱讀 2503

題目:

解題思路:遞迴,二叉搜尋樹兩個點

二叉搜尋樹:二叉查詢樹,主要特點是,根節點比左孩子大,比右孩子小,即左小右大根中間。

/**

* definition for a binary tree node.

* function treenode(val)

*//**

* @param root

* @param p

* @param q

* @return

*/var lowestcommonancestor = function(root, p, q) else if (root.val < p.val && root.val < q.val) else result(root.left, p, q)

}return res;

};

當然最初的思路不是我的,這種比較好理解。

注:注意第二種特殊情況,所以在第乙個if判斷中進行處理。

我最初的思路是進行兩次遍歷,比較麻煩並且難理解,但是也可以ac。(ps:第一天)

235 二叉搜尋樹的最近公共祖先

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

235 二叉搜尋樹的最近公共祖先

給定乙個二叉搜尋樹,找到該樹中兩個指定節點的最近公共祖先。公共祖先肯定在pq之間,由於pq不知道誰先所以先判斷一下。class solution object deflowestcommonancestor self,root,p,q type root treenode type p treeno...

235 二叉搜尋樹的最近公共祖先

難度 簡單 題目描述 思路總結 難者不會,做過就不難。利用二叉搜尋樹的性質,左子樹 根節點 右子樹。根據經驗可以得到,如果p和q不再當前結點的某一子樹里,二叉搜素樹性質,同時大於,或者同時小於。就是最近公共祖先。題解一 遞迴 definition for a binary tree node.cla...