Question :
To find height of any binary treeCode :
public class TreeHeightFinder { public static int findHeight(Node root){ int leftHeight = 0; int rightHeight = 0; if(root.getLeft() != null){ leftHeight = findHeight(root.getLeft()); } if(root.getRight() != null){ rightHeight = findHeight(root.getRight()); } int maxHeight = max(leftHeight,rightHeight); return 1 + maxHeight; } public static int max(int a,int b){ return a > b ? a : b; } }
Now lets build a tree and test it(tree is like below)
public static void main(String args[]){ Node root = new Node(1); Node l = new Node(2); Node r = new Node(3); Node l1 = new Node(12); Node l2 = new Node(13); Node r1 = new Node(6); Node r2 = new Node(8); root.setLeft(l); root.setRight(r); l.setLeft(l1); l.setRight(l2); r.setLeft(r1); r.setRight(r2); System.out.println("Height is : " + TreeHeightFinder.findHeight(root)); }