Вам нужно сделать предварительный обход двоичного дерева. Итак, если у вас есть дерево:
+
5 -
3 2
Вы хотели бы посетить +, 5, -, 3, 2, в этом порядке. Вы можете сделать это рекурсивно следующим образом (при условии, что у ваших узлов есть значения полей, left и right):
public void preorder() {
if (leaf == null && right == null)
System.out.println(value);
else {
System.out.println("(");
System.out.println(value);
if(left != null) left.preorder();
if(right != null) right.preorder();
System.out.println(")");
}
}
Обратите внимание, что вы просто посещаете текущий узел, затем левого потомка, затем правого потомка.