Я нашел этот вопрос на Java и думаю, что вывод идет справа налево под номером 3, значит:
2 1 2 0 1
Я прав?
Thnx !!
Класс IntNode:
public class IntNode;
{
private int _value;
private IntNode _next;
public IntNode (int val, IntNode n)
{
_value = val;
_next = n;
}
public IntNode getNext () {return _next;}
public void setNext (IntNode node) {_next = node;}
public int getValue () {return _value;}
public void setValue (int v) {_value = v;}
}
Класс IntList:
public class IntList
{
private IntNode _head;
public IntList() {_head = null;}
public void addHead (int val)
{
_head = new IntNode (val, _head);
}
}
Класс узла:
public class Node
{
private int _number;
private Node _leftSon, _rightSon;
public Node (int number)
{
_number = number;
_leftSon = null;
_rightSon = null;
}
public int getNumber() {return _number;}
public Node getLeftSon() {return _leftSon;}
public Node getRightSon() {return _rightSon;}
}
Класс BinaryTree:
The BinaryTree Class:
public class BinaryTree
{
public static IntList what (Node root , int i)
{
IntList level = new IntList();
if (root != null)
what (level, i, root);
return level;
}
private static void what (IntList level, int i, Node t)
{
if (t != null)
{
if (i>0)
{
what (level, i-1, t.getRightSon());
what (level, i-1, t.getLeftSon());
}
else
level.addHead(t.getNumber());
}
}
}
И вопрос был:
1) Для следующего дерева (рис.), Что будет напечатано на экране для следующих строк:
IntList list = BinaryTree.what(root, 3);
Sys...out... (list);
2) Что делает метод ' чем ' вообще, когда она получает корень двоичного дерева?