LeetCode 235 二叉樹的最近公共祖先

2021-09-30 17:03:17 字數 958 閱讀 5989

例如,給定如下二叉搜尋樹:  root = [6,2,8,0,4,7,9,null,null,3,5]

_______6______

/ \

___2__ ___8__

/ \ / \

0 _4 7 9

/ \

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, 因為根據定義最近公共祖先節點可以為節點本身。

求解分析:

如果乙個結點的左右子樹都發現了目標值,則該結點就是最近公共祖先,如果左子樹發現了結點,而右子樹沒有發現結點,則遞迴處理左子樹,反之處理右子樹。**如下:

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

};

由於題目中的是二叉搜尋樹,我們還可以利用二叉搜尋樹的性質來求解。**如下:

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

};

Leetcode 235 二叉樹的最近公共祖先

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

LeetCode 235 二叉樹的最近公共祖先

問題描述 給定乙個二叉搜尋樹,找到該樹中兩個指定節點的最近公共祖先。例如,給定如下二叉搜尋樹 root 6,2,8,0,4,7,9,null,null,3,5 6 2 8 0 4 7 9 3 5示例 1 輸入 root 6,2,8,0,4,7,9,null,null,3,5 p 2,q 8輸出 6解...

leetcode 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 的最近公共祖先是...