Вопрос пользователя:
Ответ нейросети:
class Node {
int data;
Node left, right;
public Node(int item) {
data = item;
left = right = null;
}
}
public class BinaryTree {
Node root;
public void printPaths(Node node) {
int[] path = new int[1000];
printPathsRec(node, path, 0);
}
private void printPathsRec(Node node, int[] path, int pathLen) {
if (node == null) {
return;
}
path[pathLen] = node.data;
pathLen++;
if (node.left == null && node.right == null) {
printArray(path, pathLen);
} else {
printPathsRec(node.left, path, pathLen);
printPathsRec(node.right, path, pathLen);
}
}
private void printArray(int[] ints, int len) {
for (int i = 0; i < len; i++) {
System.out.print(ints[i] + " ");
}
System.out.println();
}
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
tree.root = new Node(1);
tree.root.left = new Node(2);
tree.root.right = new Node(3);
tree.root.left.left = new Node(4);
tree.root.left.right = new Node(5);
tree.printPaths(tree.root);
}
}
Этот код создает бинарное дерево поиска и выводит все пути от корня до листовых узлов.
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.