二叉樹的下乙個結點

2021-10-03 11:57:50 字數 1527 閱讀 1598

題目:

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

思路一:

暴力解法

**:

# class treelinknode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

# self.next = none

class

solution

:def

getnext

(self, pnode)

: root = pnode

while root.

next

: root = root.

next

arr = self.trans(root)

index = arr.index(pnode)

return arr[index+1]

if index<

len(arr)-1

else

none

deftrans

(self, root):if

not root:

return

arr =

arr.extend(self.trans(root.left)

) arr.extend(self.trans(root.right)

)return arr

思路二:

窮舉**:

# class treelinknode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

# self.next = none

class

solution

:def

getnext

(self, pnode)

:if pnode.right:

p = pnode.right

while p.left: p = p.left

return p

while pnode.

next

:if pnode == pnode.

next

.left:

return pnode.

next

pnode = pnode.

next

return

none

二叉樹的下乙個結點

這幾天由於一些原因沒及時更新部落格,抽時間來寫寫資料結構。這次是去尋找二叉樹的下乙個節點。總體思路最開始依舊是遞迴,但是比較困難,因此還是來畫圖分析。節點有指向父節點的指標next,節點類為 public class treelinknode 中序遍歷是按照 左 根 右 的規律來遍歷的。也就是如果指...

二叉樹的下乙個結點

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

二叉樹的下乙個結點

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