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

2022-09-07 10:39:13 字數 665 閱讀 6094

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

若root是p,q的最近公共祖先,則只能是以下情況:

那麼本題說的是:1. 樹為二叉搜尋樹。2.樹中所有節點都是唯一的。根據這個關係,可以方便判斷root與p,q關係:

迴圈搜尋:當root為空退出:

當p、q都在root右子樹中,則遍歷root.right

否則當p、q都在root左子樹中,則遍歷root.left.

否則說明找到了公共祖先,跳出。

返回值:最近公共祖先root。

**實現:

class

solution

return root;

}}

流程:

當p,q都在root的右子樹中,則開起root.right並返回。

否則,當p,q都在root的左子樹中,則開起遞迴root.left並開起。

返回值:最近公共祖先root

**實現:

class

solution

if(root.val > q.val && root.val> p.val)

return root;

}}

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

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

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

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

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

例如,給定如下二叉搜尋樹 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 的最近公共祖先是 6。示例 2 輸入 root 6,2,8,0,4,7,...