js找出中序遍歷的下乙個子節點

2021-10-11 15:49:03 字數 611 閱讀 3994

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

下圖中序遍歷為:dbfegac

1.當前節點可能為上圖的d,則下乙個節點為b,return b

2.當前節點可能為上圖的g,則下一節點為a,return a

function getnext(pnode) 

//如果當前結點右子樹不空,那麼中序下乙個節點就是右子樹的最左節點;如果右子樹沒有左子樹就直接返回右子樹根節點

if (pnode.right!=null)

return pnode;

} //右節點為空的兩種情況

//1、

//如果 父節點的右節點 等於 當前的節點,繼續返回到上層的父節點...直到 父節點左子節點 等於 當前節點

while (pnode.next!=null&&pnode.next.right==pnode)

//2、

//如果右子樹為空,返回上層父節點

return pnode.next;

}}

中序遍歷查詢下乙個節點

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。思路 就是只考慮當前節點的右邊,父親部分。public class treelinknode 解題思路 如果乙個節點的右子樹不為空,那麼該節點的下乙個節點是右子樹的最...

求中序遍歷的下乙個節點

出處 node findinordersuccessor node root,node target if s.empty else if prev target prev cur cur cur right return null 另外一種原創解法,假設輸入引數只有乙個,所求的為輸入引數的下乙個節...

找出中序遍歷順序的下乙個結點

問題描述 給定一顆二叉樹和其中乙個節點,找出中序遍歷序列的下乙個節點!樹中的每個節點有 左 右 父 三個指標域。不是所有的節點都有其下乙個節點,所以結果可能為 null 根節點的父節點為 null 節點的定義如下 struct treelinknode 給定乙個二叉樹 問題分析 1.如目標節點有 右...