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

2021-10-02 03:17:18 字數 637 閱讀 1417

方法一:遞迴

利用二叉搜尋樹的性質,左子樹的值小於根節點,右子樹的值大於根節點。

class

solution

};

複雜度分析

時間複雜度:o(n)

其中 n 為 bst 中節點的個數,在最壞的情況下我們可能需要訪問 bst 中所有的節點。

空間複雜度:o(n)

所需開闢的額外空間主要是遞迴棧產生的,之所以是 n 是因為 bst 的高度為 n。

方法二:迭代

class

solution

return

null;}

};

複雜度分析

時間複雜度:o(n)

其中 n 為 bst 中節點的個數,在最壞的情況下我們可能需要遍歷 bst 中所有的節點。

空間複雜度:o(1)

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

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