update: traversePreOrder recursiv

This commit is contained in:
Sobottasgithub 2026-02-09 09:06:56 +01:00
parent 0685fb11bd
commit 9b6164665a

View File

@ -112,31 +112,37 @@ public class BinaryTree {
}
}
// Print functions from https://www.baeldung.com/java-print-binary-tree-diagram
public void print() {
StringBuilder sb = new StringBuilder();
traversePreOrder(sb, "", "", rootNode);
System.out.println(sb.toString());
}
private void traversePreOrder(StringBuilder sb, String padding, String pointer, Node node) {
public void traversePreOrder(Node node) {
if (node != null) {
sb.append(padding);
sb.append(pointer);
sb.append(node.getContent());
sb.append("\n");
StringBuilder paddingBuilder = new StringBuilder(padding);
paddingBuilder.append("| ");
String paddingForBoth = paddingBuilder.toString();
String pointerForRight = "---";
String pointerForLeft = (node.getRightNode() != null) ? "+--" : "'--";
traversePreOrder(sb, paddingForBoth, pointerForLeft, node.getLeftNode());
traversePreOrder(sb, paddingForBoth, pointerForRight, node.getRightNode());
System.out.print(" " + node.getContent());
traversePreOrder(node.getLeftNode());
traversePreOrder(node.getRightNode());
}
}
// Print functions from https://www.baeldung.com/java-print-binary-tree-diagram
// public void print() {
// StringBuilder sb = new StringBuilder();
// traversePreOrder(sb, "", "", rootNode);
// System.out.println(sb.toString());
// }
// private void traversePreOrder(StringBuilder sb, String padding, String pointer, Node node) {
// if (node != null) {
// sb.append(padding);
// sb.append(pointer);
// sb.append(node.getContent());
// sb.append("\n");
// StringBuilder paddingBuilder = new StringBuilder(padding);
// paddingBuilder.append("| ");
// String paddingForBoth = paddingBuilder.toString();
// String pointerForRight = "---";
// String pointerForLeft = (node.getRightNode() != null) ? "+--" : "'--";
// traversePreOrder(sb, paddingForBoth, pointerForLeft, node.getLeftNode());
// traversePreOrder(sb, paddingForBoth, pointerForRight, node.getRightNode());
// }
// }
}