樹 二叉樹的下乙個結點

2022-09-13 08:36:10 字數 714 閱讀 8698

題目:

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。

解答:

1.二叉樹為空,則返回空;

2.節點右孩子存在,則設定乙個指標從該節點的右孩子出發,一直沿著指向左子結點的指標找到的葉子節點即為下乙個節點;

3.節點不是根節點。如果該節點是其父節點的左孩子,則返回父節點;否則繼續向上遍歷其父節點的父節點,重複之前的判斷,返回結果。

1/*2

struct treelinknode

10};

11*/

12class

solution

20 treelinknode* next =nullptr;

21//

先右子節點的左子節點遍歷

22if(pnode->right !=nullptr)

2329 next =rightnode;30}

31//

向父結點遍歷

32else

if(pnode->next !=nullptr)

3341 next =parentnode;42}

43return

next;44}

45 };

樹 二叉樹的下乙個結點

題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。思路 如果乙個結點有右子樹,那麼它的下乙個結點就是它的右子樹中的左子結點。也就是說右子結點出發一直沿著指向左子結點的指標,我們就能找到它的下乙個結點。接著我...

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

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

二叉樹的下乙個結點

這幾天由於一些原因沒及時更新部落格,抽時間來寫寫資料結構。這次是去尋找二叉樹的下乙個節點。總體思路最開始依舊是遞迴,但是比較困難,因此還是來畫圖分析。節點有指向父節點的指標next,節點類為 public class treelinknode 中序遍歷是按照 左 根 右 的規律來遍歷的。也就是如果指...