面試題(八)二叉樹的下乙個節點

2021-08-15 10:11:09 字數 517 閱讀 8090

題目:

給定一棵二叉樹和其中的乙個節點,如何找出中序遍歷序列的下乙個節點?樹中的節點除了有兩個分別指向左右子節點的指標,還有乙個指向父節點的指標。樹節點的定義:

class treenode
思路:

畫出具體的二叉樹分析可知,中序遍歷序列中乙個節點的下乙個節點的位置受該節點是否有右子樹影響:若該節點存在右子樹,則下乙個節點為右子樹中的最左子節點;若不存在右子樹,則需要向上沿著該節點向上遍歷,直到發現第乙個是其父節點的左子節點的節點,這個節點的父節點便是中序遍歷序列中的下乙個節點。

**:

public treenode findnextininseq(treenode root, treenode node)

treenode right = node.right;

while(right.left != null)

right = right.left;

return right;

}

面試題8 二叉樹的下乙個節點

題目 二叉樹的下乙個節點 給定一棵二叉樹和其中的乙個節點,如何找到中序遍歷序列的下乙個節點?樹中的節點除了有兩個分別指向左 右子節點的指標 還有乙個指向父節點的指標。完整 public class getnext public treenode p getnexttreenode p treenod...

劍指 面試題8 二叉樹的下乙個節點

題目給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。思路 分三種情況 1 如果該節點有右子樹,則中序下乙個節點就是右子樹的最左節點 b.next h 2 如果該節點沒有右子樹,且是其父親節點的左子節點,則下乙個就是...

面試題8 二叉樹的下乙個結點

面試題8 二叉樹的下乙個結點 樹中的結點除了有兩個分別指向左右子結點的指標以外,還有乙個指向父結點的指標。二叉樹的結構體定義如下。以上圖為例,節點有沒有左子樹不影響,因為左子樹肯定會在節點之前被遍歷。如果輸入節點有右子樹,比如根節點a有右子樹c,但是節點c可能是其他左子樹的根節點,所以中序遍歷不能選...