# Write a java code to find the height of a binary tree

To find the height of a binary tree in Java, you can use the following recursive approach:
1. If the tree is empty (i.e., the root node is null), return 0.
2. Otherwise, the height of the tree is equal to the maximum of the heights of the left and right subtrees, plus 1 (to account for the root node).
3. To find the height of a subtree, you can recursively call the same method with the root node of the subtree as the argument.

Here is an example of how you might implement this in Java:

class Node {
int data;
Node left;
Node right;

public Node(int data, Node left, Node right) {
this.data = data;
this.left = left;
this.right = right;
}
}

class BinaryTree {
private Node root;

public BinaryTree(Node root) {
this.root = root;
}

public int getHeight() {
return getHeight(root);
}

private int getHeight(Node node) {
if (node == null) {
return 0;
}
int leftHeight = getHeight(node.left);
int rightHeight = getHeight(node.right);
return Math.max(leftHeight, rightHeight) + 1;
}
}

You can then use the getHeight method to find the height of a binary tree as follows:

// Create a binary tree with three levels
Node leaf1 = new Node(1, null, null);
Node leaf2 = new Node(2, null, null);
Node leaf3 = new Node(3, null, null);
Node leaf4 = new Node(4, null, null);
Node leaf5 = new Node(5, null, null);
Node leaf6 = new Node(6, null, null);
Node node1 = new Node(7, leaf1, leaf2);
Node node2 = new Node(8, leaf3, leaf4);
Node node3 = new Node(9, leaf5, leaf6);
Node root = new Node(10, node1, node2);
BinaryTree tree = new BinaryTree(root);

// Print the height of the tree
System.out.println(tree.getHeight()); // Outputs 3