AcWing 19 二叉樹的下乙個節點

2021-09-11 19:48:15 字數 700 閱讀 5307

題目描述:

給定一棵二叉樹的其中乙個節點,請找出中序遍歷序列的下乙個節點。

注意:樣例

假定二叉樹是:[2, 1, 3, null, null, null, null], 給出的是值等於2的節點。則應返回值等於3的節點。

解釋:該二叉樹的結構如下,2的後繼節點是3。

2/ \

1   3

分析:中序的後序結點是data structure中很喜歡考察的知識,用**寫出來比文字描述更加深刻,也更好記憶。

首先,某結點有右孩子,則該結點在其中序遍歷序列下的後繼為其右子樹最左下的那個結點,所以沿著其右孩子一直往左孩子遍歷即可找到。

若某結點沒有右孩子,且它是其父結點的左孩子,則其父結點為其後繼;若它是其父結點的右孩子,則一直往上遍歷,直到找到某結點是其父結點的左孩子或者其父結點為空(訪問到了根結點)為止,該結點的父結點便是所求的後繼。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

while(p->father && p == p->father->right) p = p->father;

return p->father;

}};

AcWing 19 二叉樹的下乙個節點

給定一棵二叉樹的其中乙個節點,請找出中序遍歷序列的下乙個節點。注意 假定二叉樹是 2,1,3,null,null,null,null 給出的是值等於2的節點。則應返回值等於3的節點。解釋 該二叉樹的結構如下,2的後繼節點是3。2 1 3若當前節點有右子樹,則右子樹中最左側的節點就是當前節點的後繼 若...

AcWing 19 二叉樹的下乙個節點

給定一棵二叉樹的其中乙個節點,請找出中序遍歷序列的下乙個節點。注意 樣例 假定二叉樹是 2,1,3,null,null,null,null 給出的是值等於2的節點。則應返回值等於3的節點。解釋 該二叉樹的結構如下,2的後繼節點是3。2 1 3先判斷如果當前節點有右孩子,則右子樹中最左側的節點就是當前...

二叉樹 二叉樹的下乙個結點

題目描述 給定一棵二叉樹和乙個結點,要求找到中序遍歷此樹時該結點的下乙個結點。分析 中序遍歷一棵二叉樹時,要根據乙個結點有無右子樹而分開討論。若當前結點有右子樹,則它的下乙個結點就是其右子樹的最左葉子結點 若當前結點沒有右子樹,那麼又分兩種情況 若當前結點是其父節點的左孩子結點,那麼其下乙個結點就是...