二叉樹2 在二叉樹中找到乙個節點的後繼節點

2021-09-12 11:43:09 字數 866 閱讀 6328

【題目】現在有一種新的二叉樹節點型別如下: public class node }

該結構比普通二叉樹節點結構多了乙個指向父節點的parent指標。假 設有一 棵node型別的節點組成的二叉樹,樹中每個節點的parent指標 都正確地指向 自己的父節點,頭節點的parent指向null。只給乙個在 二叉樹中的某個節點 node,請實現返回node的後繼節點的函式。在二 叉樹的中序遍歷的序列中, node的下乙個節點叫作node的後繼節點。這道題說的是在二叉樹的中序遍歷時的後繼節點。

思想:這道題的方法是,因為是中序遍歷,左中右,所以如果該節點有右子樹,那麼他的後繼節點就是他的最下面的那個左節點;如果沒有右子樹,那麼往上找他的父節點,如果找到當前節點是父節點的左孩子,那麼那個父節點就是他的後繼節點,否則,該節點不存在後繼節點。例如上圖的7就沒有後繼節點,6的後繼節點是3,因為他剛剛好是3的左孩子。

**:

public

class

code_03_successornode

}public

static node getsuccessornode

(node node)

if(node.right != null)

else

return parent;}}

public

static node getleftmost

(node node)

while

(node.left != null)

return node;

}

二叉樹 在二叉樹中找到乙個節點的前驅節點

二叉樹 在二叉樹中找到乙個節點的後繼節點 可以將該結點分為兩種情況,1.沒有左子樹,那它是某乙個結點的右子樹的最左結點,然後找到這個右子樹的parent即可 找它的parent,直到當前節點是parent的右子樹為止 2.有左子樹,那前驅節點就是它的左子樹的最右結點 public static no...

在二叉樹中找到乙個節點的後繼節點

在二叉樹中找到乙個節點的後繼節點 現在有一種新的二叉樹節點型別如下 public class node 該結構比普通二叉樹節點結構多了乙個指向父節點的 parent 指標。假設有一棵 node 型別的節點組 成的二叉樹,樹中每個節點的 parent 指標都正確地指向自己的父節點,頭節點的 paren...

在二叉樹中找到乙個節點的後繼節點

題目 現在有一種新的二叉樹節點型別如下 public class node 該結構比普通二叉樹節點結構多了乙個指向父節點的parent指標。假 設有一 棵node型別的節點組成的二叉樹,樹中每個節點的parent指標 都正確地指向 自己的父節點,頭節點的parent指向null。只給乙個在 二叉樹中...