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