給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。
首先知道中序遍歷的規則是:左根右,然後作圖
1.若當前節點有右子樹,下一節點為右子樹的最左節點2.若無右節點,則下一節點為第乙個為其父節點左孩子的父節點。
#-*- coding:utf-8 -*-
#class treelinknode:
#def __init__(self, x):
#self.val = x
#self.left = none
#self.right = none
#self.next = none
class
solution:
defgetnext(self, pnode):
#write code here
if pnode ==none:
return
#若當前節點有右子樹,下一節點為右子樹的最左節點
ifpnode.right:
pnode =pnode.right
while(pnode.left!=none):
pnode =pnode.left
return
pnode
#若無右節點,則下一節點為第乙個為其父節點左孩子的父節點。
while(pnode.next!=none):
if pnode.next.left ==pnode:
return
pnode.next
pnode =pnode.next
return none
二叉樹的下乙個節點
問題 題目給出的預設 為 1 coding utf 8 2 class treelinknode 3 def init self,x 4 self.val x5 self.left none6 self.right none7 self.next none 8class solution 9def ...
二叉樹的下乙個節點
coding utf 8 class treelinknode def init self,x self.val x self.left none self.right none self.next none 1 該節點有左子樹,說明左邊已經遍歷過,該節點作為根節點,下一步應該填右子樹,如果該節點有...
二叉樹的下乙個節點
題目描述 給定一棵二叉樹和其中的乙個節點,如何找出中序遍歷序列的下乙個節點?樹中的節點除了有兩個分別別指向左右子節點的指標,還有乙個指向父節點的指標 例如 這棵樹的中序遍歷是 d,b,h,e,i,a,f,c,g 解題思路 3 當結點的右子樹為空,且是它父節點的左子節點時,它的下乙個節點就是它的父節點...