class TreeTest { public static void main(String[] args) { // let's encode 1 - 2 ^ 4 x 2 // (- (1 ε ε) (x (^ (2 ε ε) (4 ε ε)) (4 ε ε))) // we use strings to represent values (operations or data) BinaryTreeNode root = new BinaryTreeNode<>("-"); root.setLeft(new BinaryTreeNode<>("1")); root.setRight(new BinaryTreeNode<>("x")); root.getRight().setLeft(new BinaryTreeNode<>("^")); root.getRight().setRight(new BinaryTreeNode<>("4")); root.getRight().getLeft().setLeft(new BinaryTreeNode<>("2")); root.getRight().getLeft().setRight(new BinaryTreeNode<>("4")); System.out.println(root.size()); System.out.println(root); System.out.println("height: " + BinaryTreeNode.getHeight(root)); System.out.println("height: " + BinaryTreeNode.getHeight(null)); } }