(1)因為使用的是中序遍歷,所以首先要在左子樹中尋找
(2)當在左子樹中沒有找到的時候,然後到右子樹中尋找
package 劍指offer;
class binarytreenodek
binarytreenodek(int value)
public string tostring()
}public class test63
int tmp = ;
return findknode(root, tmp);
}public static binarytreenodek findknode(binarytreenodek head, int k)
// 如果在左子樹中沒有找到
if(result == null)else
} // 根結點以及根結點的左子樹都沒有找到,則找其右子樹
if(result == null && head.right != null)
return result; }
private static void assemble(binarytreenodek n1,
binarytreenodek n2,
binarytreenodek n3)
public static void main(string args)
}}
------output------
null 4 2 5 1 6 3 7 null
劍指offer(57)對稱的二叉樹
19.3.11 題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路,比較proot的左子樹與它的右子樹相等,再遞迴左子樹的左子樹與右子樹的右子樹相等。右子樹的左子樹與左子樹的右子樹相等。如下 function treenode...
劍指offer57 二叉樹的下乙個結點
給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。coding utf 8 class treelinknode def init self,x self.val x self.left none self.righ...
劍指Offer(57) 二叉樹的下乙個結點
給定乙個二叉樹和其中的乙個結點,請找出中序遍歷順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。分三種情況 1 如果當前結點有右子樹,那麼它的下乙個結點就是它的右子樹的最左子結點 2 如果當前結點沒有右子樹,且為它父結點的左子結點,那麼它的下乙個結點就是它的父結...