劍指offer57 搜素二叉樹的第k個結點

2021-07-22 09:42:26 字數 794 閱讀 6930

(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 如果當前結點沒有右子樹,且為它父結點的左子結點,那麼它的下乙個結點就是它的父結...