public class BinaryTreeK54 {
static class Node {
int val;
Node left;
Node right;
public Node(int val) {
this.val = val;
}
@Override
public String toString() {
return "Node{" +
"val=" + val +
", left=" + left +
", right=" + right +
'}';
}
}
public static void main(String[] args) {
Node root = new Node(8);
Node node21 = new Node(6);
Node node22 = new Node(10);
Node node31 = new Node(5);
Node node32 = new Node(7);
Node node33 = new Node(9);
Node node34 = new Node(11);
root.left = node21;
root.right = node22;
node21.left = node31;
node21.right = node32;
node22.left = node33;
node22.right = node34;
numberK(root, 7);
}
static public int count = 0;
private static void numberK(Node root, int k) {
if (root == null)
return;
numberK(root.left, k);
{
count++;
if (count == k) {
System.out.println("find it: " + root.val);
return;
}
}
numberK(root.right, k);
}
}