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

2021-09-11 19:35:43 字數 1366 閱讀 8462

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

例如,給定如下二叉搜尋樹: 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,9,null,null,3,5], p = 2, q = 4

輸出: 2

解釋: 節點 2 和節點 4 的最近公共祖先是 2, 因為根據定義最近公共祖先節點可以為節點本身。

說明:

所有節點的值都是唯一的。

p、q 為不同節點且均存在於給定的二叉搜尋樹中。

二叉搜尋樹:左子樹所以節點的值小於根節點,右子樹所有節點值都大於根節點,且左、右子樹都符合此定義。

根據二叉搜尋樹的特性,p、q的分布只有三種情況

第三種:p、q分別在左右兩端,那麼此時根節點即共同祖先

方法一:非遞迴版

方法二:遞迴版

leetcode 二叉樹 驗證二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 節點的左子樹只包含小於當前節點的數。節點的右子樹只包含大於當前節點的數。所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 1 3 輸出 true 示例 2 輸入 5 1 4 3 6 輸出 false 解釋 ...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...

LeetCode 二叉搜尋樹中的搜尋

給定二叉搜尋樹 bst 的根節點和乙個值。你需要在bst中找到節點值等於給定值的節點。返回以該節點為根的子樹。如果節點不存在,則返回 null。例如,給定二叉搜尋樹 4 2 7 1 3 和值 2 你應該返回如下子樹 2 1 3 在上述示例中,如果要找的值是 5,但因為沒有節點值為 5,我們應該返回 ...