8 二叉樹的下乙個節點

2021-10-02 22:26:48 字數 421 閱讀 2950

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

分三種情況考慮。1、若該節點存在右子樹,則下一節點為右子樹最左邊的節點。2、該節點不存在右子樹,若該節點為父節點的左節點,則該父節點為該節點的下一節點。3、若該節點為其父節點的右節點,則一直往上遍歷,直至遍歷節點為其父節點的左節點,即最後父節點為要找的下乙個節點。**如下:

public treelinknode getnext

(treelinknode pnode)

pnext=pright;

}else

if(pnode.next!=null)

pnext=pparent;

}return pnext;

}

8 二叉樹的下乙個節點

理解關鍵 先序遍歷的意思是先遍歷左子樹,等到左子樹全部遍歷完之後才遍歷自己,然後是右子樹。include using namespace std struct binarytreenode 視覺化樹結構 void padding char ch,int n void print node struc...

8 二叉樹的下乙個節點

public static treenode getnext treenode node treenode temp node.right treenode nextnode 如果乙個節點有右子樹 if temp null nextnode temp 如果乙個節點沒有右子樹,且是它父節點的左子節點 ...

8 二叉樹的下乙個節點

1 題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。public class treelinknode 2 思路 以該二叉樹為例,中序遍歷為 仔細觀察,可以把中序下一結點歸為幾種型別 有右子樹,下一結點是...