public class BalancedApp { public static void main(String[] args) { BinaryTree t = new BinaryTree<>("Daniel", new BinaryTree<>("Judy", new BinaryTree<>("Shirley"), new BinaryTree<>("Wendell") ), new BinaryTree<>("William", new BinaryTree<>("Clairinda"), new BinaryTree<>("Alexander", new BinaryTree<>("Anastasia"), new BinaryTree<>("Vladimir") ) ) ); System.out.println(isBalanced(t)); } public static boolean isBalanced(BinaryTree t) { if (t == null) { return true; } else { int hdiff = Math.abs( BinaryTree.getHeight(t.getLeft()) - BinaryTree.getHeight(t.getRight()) ); if (hdiff > 1) { return false; } else { return isBalanced(t.getLeft()) && isBalanced(t.getRight()); } } } }