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

2021-10-01 23:56:06 字數 747 閱讀 7337

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

1、如果該結點有右子樹,那麼它的下乙個結點就是它右子樹的最左子節點;

2、如果該結點沒有右子樹:

(1)如果是它父節點的左子節點,那麼它的下乙個結點就是它的父節點;

(2)如果是它父節點的右子結點:

a、若能找到乙個是它父節點的左子節點的結點,那麼它的父節點就是要找的下乙個結點;

b、若找不到這樣的結點,則要找的下乙個結點不存在;

/*

struct treelinknode

};*/

class solution

//1、如果該結點有右子樹,那麼它的下乙個結點就是它右子樹的最左子節點;

if(pnode->right != null)

return pnode;

}while(pnode->next != null)

//a、若能找到乙個是它父節點的左子節點的結點,那麼它的父節點就是要找的下乙個結點;

pnode = pnode->next;

}// b、若找不到這樣的結點,則要找的下乙個結點不存在;

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

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。coding utf 8 class treelinknode def init self,x self.val x self.left none self.righ...

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

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

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

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