給定乙個二叉樹和其中的乙個節點,請找出中序遍歷順序的下乙個節點並且返回。書中的節點不僅包含左右子節點,同時包含指向父節點的指標。
class
treelinknode
:def
__init__
(self,x)
: self.val = x
self.left =
none
self.right =
none
self.
next
=none
class
solution
:def
getnext
(self,pnode)
:# 1. 尋找右子樹,如果存在就一直找到右子樹的最左邊,就是下乙個節點
# 2. 沒有右子樹,就尋找它的父節點,一直找到它是父節點的左子樹,列印父節點
if pnode.right:
tmpnode = pnode.right
while tmpnode.left:
tmpnode=tmpnode.left
return tmpnode
else
: tmpnode = pnode
while tmpnode.
next
:if tmpnode.
next
.left == tmpnode:
return tmpnode.
next
tmpnode = tmpnode.
next
return
none
Python 二叉樹的下乙個節點
給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。coding utf 8 class treelinknode def init self,x self.val x self.left none self.righ...
二叉樹的下乙個節點
問題 題目給出的預設 為 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 該節點有左子樹,說明左邊已經遍歷過,該節點作為根節點,下一步應該填右子樹,如果該節點有...