Ваш API для построения дерева трудно читать. Если вы определили конструктор:
public Node(int v, Node left, Node right)
Тогда вы могли бы объявить ваши деревья как:
bt.root = new Node(
10,
new Node(
12,
new Node(25, null, null),
new Node(30, null, null)),
new Node(
25,
new Node(36, null, null),
null));
bt2.root = new Node(
10,
new Node(
12,
new Node(25, null, null),
null)),
new Node(15, null, null));
Таким образом, я думаю, легко увидеть, что второе не является поддеревом из первого:
- узел со значением 10 в первом имеет правый узел со значением 25; во втором он имеет правильное значение 15;
- узел со значением 12 в первом имеет ненулевое правильное значение, тогда как во втором он равен нулю.