演算法題(三十五) 二叉樹的下乙個結點

2021-09-01 13:16:34 字數 809 閱讀 6821

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

分情況討論:

1.如果結點有右孩子,則返回右子樹中最後乙個左孩子;

2.如果結點沒有右孩子,且該結點是父結點的左孩子,則返回父結點;

3.如果結點沒有右孩子,且該結點是父結點的右孩子,則向上遍歷父結點,返回第乙個當前節點是父節點左孩子的節點

public class nextone 

//自己寫的

public static treelinknode next(treelinknode node)

treelinknode lastone = null;

if(node.right != null)

lastone = temp;

return lastone;

} if(node.next.left == node)

treelinknode parent = node.next;

while(parent!=null)

parent = parent.next;

} return null;

}//牛客網上的

public static treelinknode getnext(treelinknode node)

while (node.next != null)

return null; // 退到了根節點仍沒找到,則返回null }}

class treelinknode

}

刷題 二叉樹的下乙個結點

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。基本思路 1.二叉樹為空,返回空。2.該結點存在右子樹,返回右子樹最左邊的結點。3.該結點不是根結點,如果該結點是其父結點的左孩子,返回其父結點 否則繼續向上找父結點...

二叉樹的下乙個結點

這幾天由於一些原因沒及時更新部落格,抽時間來寫寫資料結構。這次是去尋找二叉樹的下乙個節點。總體思路最開始依舊是遞迴,但是比較困難,因此還是來畫圖分析。節點有指向父節點的指標next,節點類為 public class treelinknode 中序遍歷是按照 左 根 右 的規律來遍歷的。也就是如果指...

二叉樹的下乙個結點

題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。二叉樹的下乙個結點 author 過路的守望 public class getnextnode 若當前節點有右兒子,則返回右兒子的最左兒子 if node....