給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。
解法:先判斷當前節點是否存在右子樹,如果存在右子樹,就對右子樹一直尋找最左結點,直到找到最左的乙個結點。
當不存在右子樹,就判斷是否存在父親結點,如果不存在父親結點,說明該節點位根結點,直接返回null,如果存在父親結點,再判斷該結點是否為父親結點的左結點
如果是左結點,直接返回父親結點,如果不是左結點,就需要一直往上找父結點
1public
treelinknode getnext(treelinknode pnode)
8return
pnode;9}
10while (pnode.next != null
) 14 pnode =pnode.next;15}
16return
null
;17 }
二叉樹的下乙個結點
這幾天由於一些原因沒及時更新部落格,抽時間來寫寫資料結構。這次是去尋找二叉樹的下乙個節點。總體思路最開始依舊是遞迴,但是比較困難,因此還是來畫圖分析。節點有指向父節點的指標next,節點類為 public class treelinknode 中序遍歷是按照 左 根 右 的規律來遍歷的。也就是如果指...
二叉樹的下乙個結點
題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。二叉樹的下乙個結點 author 過路的守望 public class getnextnode 若當前節點有右兒子,則返回右兒子的最左兒子 if node....
二叉樹的下乙個結點
題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。思路 結合圖,我們可發現分成兩大類 1 有右子樹的,那麼下個結點就是右子樹最左邊的點 eg d,b,e,a,c,g 2 沒有右子樹的,也可以分成兩類,a 是...