劍指offer57 二叉樹的下乙個結點

2021-09-11 07:52:09 字數 825 閱讀 9614

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

# -*- coding:utf-8 -*-

# class treelinknode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

# self.next = none

class

solution

:def

getnext

(self, pnode)

:# write code here

ifnot pnode:

return

none

if pnode.right:

# 下乙個節點一定在右子樹的最左端

res = pnode.right

while res.left:

res = res.left

return res

else

: father = pnode.

next

while father and father.right == pnode:

# 如果節點是父節點的右兒子,那麼繼續往上

pnode = father

father = pnode.

next

return father

劍指Offer(57) 二叉樹的下乙個結點

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。分三種情況 1 如果當前結點有右子樹,那麼它的下乙個結點就是它的右子樹的最左子結點 2 如果當前結點沒有右子樹,且為它父結點的左子結點,那麼它的下乙個結點就是它的父結...

劍指offer 57 二叉樹的下乙個結點

1.題目描述給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。2.解題思路情況1 該節點有右子樹 6 3 10 2 5 8 12中序遍歷結果為 2 3 5 6 8 10 12 即它的下乙個結點就是它的右子樹中最左子結...

劍指offer 57 二叉樹的下乙個結點

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。1 如果該結點有右子樹,那麼它的下乙個結點就是它右子樹的最左子節點 2 如果該結點沒有右子樹 1 如果是它父節點的左子節點,那麼它的下乙個結點就是它的父節點 2 如果...