劍指Offer 二叉樹的下乙個節點

2021-10-01 11:32:45 字數 516 閱讀 2006

給定一棵二叉樹和二叉樹中的乙個節點,求此節點的下乙個節點。

注意,此二叉樹節點除了左右孩子指標,還有指向其父節點的指標next。

1.如果傳入節點有右子樹,則其下乙個節點就是其右子樹的最左下的節點

2.如果傳入的節點沒有右子樹,則向其父節點找,直到找到某個節點是其父節點的左孩子,則此父節點就是node的下乙個節點

第一條要注意若節點有右子樹,不要直接就返回node的右孩子,一定要找到右子樹的最左節點,因為遍歷是遞迴的。

第二條需要注意node.next是空的情況,也就是中序遍歷最後乙個節點,其下乙個節點是null。

public

static treenode getnext

(treenode node)

if(node.right != null)

return node;

}else

return node.next;

}

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

題目描述 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。using namespace std struct treelinknode class solution treelinknode nextnode n...

劍指offer 二叉樹的下乙個節點

給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。在編寫程式之前,先縷清思路。在該題總,應該分不同情況對其進行討論。情況一 魯棒性 目標節點為空節點時返回ptr 情況二 目標節點沒有父節點且沒有右子樹時,即該節點就是...

劍指offer 二叉樹的下乙個節點

struct treelinknode class solution return currnode case two the node does not has right son,it is the left son of its father if pnode next null return...