劍指offer 08 二叉樹的下乙個結點

2021-10-10 04:41:35 字數 765 閱讀 5715

// 08. 二叉樹的下乙個結點

// 給定乙個二叉樹和其中的乙個結點,請找出中序遍

// 歷順序的下乙個結點並且返回。注意,樹中的結點不僅包

// 含左右子結點,同時包含指向父結點的指標。

// 根據中序遍歷的規則(先遞迴左子樹取左結點,取根結點,後遞迴右子樹取右結點),

// 我們可以倒過來討論以下情況:

// 1,如果結點(a,b,c,e)有右子樹(不管有沒有左子樹),

// 直接按照中序遍歷規則在右子樹找下乙個結點

// 2,如果結點沒有右子樹,分兩種情況:

// 二,如果結點回溯後發現自己是父結點的右子樹,則繼續回溯,並重新檢查一 二

/*

public class treelinknode }*/

// 時間複雜度: 16ms 執行時間

// 空間複雜度:9868kb 占用記憶體

public class solution

return node; // 有左子樹返回最左的結點,沒左子樹直接返回

}// 如果沒有右子樹

else

}return null; // 回溯無法找出關係,說明是結點已經處於整棵樹最右}}

劍指 Offer 08 二叉樹的下乙個節點

題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。解題思路 中序遍歷的順序是 左子樹 根節點 右子樹 因此有兩種情況 1 該節點有右子樹,那麼該節點中序遍歷的下乙個節點是右孩子的最左子節點 2 該節點沒有右...

劍指offer 08 二叉樹的下乙個節點

劍指offer第8題,本來想找leetcode上對應的題,後來沒找到,直接去牛客網上刷了。給定乙個二叉樹和其中的乙個結點 pnode 請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。我看到這道題的第乙個想法,就是不用管左子樹。因為中序遍歷,左子樹...

劍指offer 二叉樹 二叉樹搜尋樹

package bst import j a.util.public class bst if pre.length 0 in.length 0 treenode root new treenode pre 0 for int i 0 i in.length i return root 判斷給定陣列...