對於乙個二叉樹來講,其按中序遍歷,每個數後乙個數是這個數的後繼節點,那麼最後乙個數是沒有後繼節點的。
根據中序遍歷的順序,乙個節點如果有右孩子,那麼右孩子最左邊的節點就是他的後繼節點,
如果沒有右孩子,那麼這個節點是節點的父節點的左孩子就是其後繼節點,如果不是就繼續向上判斷,
package zuochengyun;
public
class printhoujijiedian }/*
* 有右孩子,乙個節點的後繼節點,是他右孩子的最左邊的節點, 若無右孩子,就是父節點是父節點的左孩子。
*/public
static node findhouji(node node)
if (node.right != null) else
return parent;}}
private
static node searchnode(node node)
return node;
}}
二叉樹後繼節點
二叉樹後繼節點,中序遍歷的後乙個節點 1 有右子樹,右子樹的最左節點是後繼 2 無右子樹,並且是父節點的左孩子,父節點為後繼 3 無右子樹,並且是父節點的右孩子,查該節點是哪個節點左子樹的最後節點 一直往上找,找到乙個節點是父節點的左孩子,則該父節點為後繼節點 class node def init...
快速找到二叉樹的後繼節點
設計乙個演算法,給定乙個二叉樹中的節點,返回它的後繼節點。該二叉樹的節點有父節點引用。二叉樹結點的後繼一般指的是中序遍歷中,該結點的後乙個結點。如果二叉樹的節點是沒有父節點的引用的。那麼對二叉樹進行中序遍歷可以很容易拿到指定節點的後繼節點。現在二叉樹的節點擁有父節點的引用,也就是說訪問二叉樹時不需要...
列印二叉樹中的後繼節點
思路 因為是中序遍歷後面的節點,所以如果乙個節點有右孩子的話,那麼後繼節點一定是右孩子那顆子樹上最左的節點。如果乙個節點沒有右孩子的話,先找到他的父節點,如果該節點是其其父節點的左孩子那麼父節點就是後繼節點,如果不是的話就繼續往上找。package lianxi04 public class cod...