二叉樹的下乙個結點

2021-07-05 13:35:11 字數 910 閱讀 2016

這幾天由於一些原因沒及時更新部落格,抽時間來寫寫資料結構。

這次是去尋找二叉樹的下乙個節點。

總體思路最開始依舊是遞迴,但是比較困難,因此還是來畫圖分析。

節點有指向父節點的指標next,節點類為:

public

class treelinknode

}

中序遍歷是按照 左 根 右 的規律來遍歷的。

也就是如果指向1節點,這個時候發現1節點右子樹不為空,那就遍歷右子樹,找到3發現有左子樹,則依次沿著左子樹走到最左,這裡用迴圈去走:

pnode = pnode.right;

while(pnode.left != null)

由於中序遍歷的特點,我們不用考慮左子樹,只用考慮有沒右子樹存在。

接下來考慮右子樹不存在的情況,如果指向4節點。那就要迴圈去左上移動。移動到該節點為乙個左子樹的根(如果存在),就返回這個父節點。否則返回為空:

while(pnode.next != null)

if(pnode == null) return null;

if(pnode.right != null)

return pnode;

}while(pnode.next != null)

pnode = pnode.next;

}return null;

二叉樹的下乙個結點

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

二叉樹的下乙個結點

題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。思路 結合圖,我們可發現分成兩大類 1 有右子樹的,那麼下個結點就是右子樹最左邊的點 eg d,b,e,a,c,g 2 沒有右子樹的,也可以分成兩類,a 是...

二叉樹的下乙個結點

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 publicclasssolution while node.next null ret...