Есть вот такой класс
public class PrintableTreeImpl implements PrintableTree {
Integer vertex;
PrintableTreeImpl left;
PrintableTreeImpl right;
и в нем два метода
такой
public void add(int i) {
if (vertex == null) {
vertex = i;
} else if (i <= vertex) {
if (left == null) {
left = new PrintableTreeImpl();
}
left.add(i);
} else {
if (right == null) {
right = new PrintableTreeImpl();
}
right.add(i);
}
}
и второй,который печатает бинарное дерево,вся проблема с реализацией второго метода((
public String prettyPrint(){}
мне нужно сделать из такого дерева
302
946
638
376
604
610
45
547
76
347
694
495
51
130
159
вот такое
┌45┐
│ │ ┌51
│ └76┤
│ └130┐
│ └159
302┤
│ ┌347
│ ┌376┤
│ │ │ ┌495
│ │ │ ┌547┘
│ │ └604┤
│ │ └610
│ ┌638┤
│ │ └694
└946┘
у меня есть идеи что положить все символы в константы,затем пробовать вернуть каждую сторону дерева в строковом представлении,т.е.prettyPrint(vertex),prettyPrint(right),prettyPrint(left),потом пытаться сплитануть по \n и пробовать пилить от количества строк потом делать отступы по этим количествам строк,но я полностью запутался как мне это все сделать,подскажите кто сможет,буду очень признателен