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

2021-08-11 12:43:11 字數 1069 閱讀 6642

題目描述:

給定一棵二叉樹和其中的乙個節點,如何找出中序遍歷序列的下乙個節點?數中的節點除了有兩個分別指向     左、右節點的指標,還有乙個指向父親節點的指標。

我們首先看一棵樹:

對於求一棵二叉樹中序遍歷序列中乙個節點的下乙個節點一般會有3種情況

第一種情況: 節點有右子樹,則下一節點就從它的右子樹中查詢 如圖

第二種情況:沒有右子節點,而且它還是其父節點的左子節點。

如圖:

第三種情況:節點既沒有右子樹,而且還是父親節點的右子節點。 如圖

//情況三:如果pnode節點沒有右子樹,卻其父親節點,爺爺節點...

//其下一節點就是使其 父親節點... 處於左子樹的最左孩子

else

currentnode = pnode.parentnode;

}}

return null;

}}

劍指offer 二叉樹 二叉樹搜尋樹

package bst import j a.util.public class bst if pre.length 0 in.length 0 treenode root new treenode pre 0 for int i 0 i in.length i return root 判斷給定陣列...

劍指offer 二叉樹 二叉樹的映象

操作給定的二叉樹,將其變換為源二叉樹的映象。二叉樹的映象定義 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 51,交換左右子樹 2,遞迴交換左右子樹的左右子節點 package offertest title mirror description author 田...

劍指Offer 二叉樹 對稱的二叉樹

含有兩道題,都從樹的遞迴入手 請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。解題思路 映象翻 只需要遍歷二叉樹,每次訪問乙個結點時,交換其左右子樹。實現 definition for a binary tree node.class treenode def init self,x self....