package sort;
public class Test54 {
static int order = 0;
public static void main(String[] args) {
int deepth = 3;
BinayTreeNode root = new BinayTreeNode(1, null, null);
makeTree(root, deepth);
getK(root, 5);
}
private static void makeTree(BinayTreeNode node, int deep) {
if (deep > 0) {
node.left = new BinayTreeNode(node.value * 2, null, null);
node.right = new BinayTreeNode(node.value * 2 + 1, null, null);
makeTree(node.left, deep - 1);
makeTree(node.right, deep - 1);
}
}
public static void getK(BinayTreeNode bt, int k) {//使用中序遍历
if (bt == null)
return;
getK(bt.left, k);
order++;
if (order == k) {
System.out.println(bt.value);
return;
} else if (k > order) {
System.out.println("order" + order + " " + bt.value);
}
getK(bt.right, k);
}
}