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

2021-09-24 16:52:22 字數 521 閱讀 5199

給定乙個二叉搜尋樹, 找到該樹中兩個指定節點的最近公共祖先。

公共祖先肯定在pq之間,由於pq不知道誰先所以先判斷一下。

class

solution

(object):

deflowestcommonancestor

(self, root, p, q)

:"""

:type root: treenode

:type p: treenode

:type q: treenode

:rtype: treenode

"""if p.val >q.val:

p,q =q,p

while

true

:if root.val>q.val:

root = root.left

elif root.val < p.val:

root = root.right

else

:return root

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 二叉搜尋樹的最近公共祖先

題目 解題思路 遞迴,二叉搜尋樹兩個點 二叉搜尋樹 二叉查詢樹,主要特點是,根節點比左孩子大,比右孩子小,即左小右大根中間。definition for a binary tree node.function treenode val param root param p param q retur...

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

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