二叉樹的最近公共祖先問題

2022-07-08 06:30:14 字數 704 閱讀 9188

一、普通二叉樹的公共祖先問題

};二、二叉搜尋樹的公共祖先問題相比於普通二叉樹,二叉搜尋樹有一些特性,可以利用這些特性來改善演算法效能。因為二叉樹搜尋樹的特性,其實只要從上到下遍歷的時候,遍歷的當前節點數值在[p,q]區間中說明該節點就是最近公共祖先了。

/*

* * definition for a binary tree node.

* struct treenode

* }; */

class

solution

if(root->val < p->val && root->val < q->val)

//剩下的幾種情況就是root就在[p,q]區間裡了,直接返回即可

return

root;}};

二叉樹的最近公共祖先

給定乙個二叉樹,找到該樹中兩個指定節點的最近公共祖先。例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,null,7,4 思路 剛開始使用boolean來判斷要查詢的兩節點在左右孩子上,後面修改為使用treenode與null判斷兩節點位置 1 分別向左孩子和右孩子遞迴。2 若當...

二叉樹的最近公共祖先

輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 1 輸出 3 輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 4 輸出 5 法1 分別找出根節點到兩個節點的路徑,則最後乙個公共節點就是最低公共祖先。法2 public treen...

二叉樹的最近公共祖先

例如,給定如下二叉樹 root 3,5,1,6,2,0,8,null,null,7,4 示例 1 輸入 root 3,5,1,6,2,0,8,null,null,7,4 p 5,q 1 輸出 3 解釋 節點 5 和節點 1 的最近公共祖先是節點 3。示例 2 輸入 root 3,5,1,6,2,0,...