Я хотел отобразить все узлы на определенном уровне в дереве:
Вызывается по: allNodesAtACertainLevel(0, *whatever level you want*, root);
Это дает правильный ответ.
private void allNodesAtACertainLevel(int count, int level, Node n){
count += 1;
if(count <= level){
if(n.left != null) allNodesAtACertainLevel(count, level, n.left);
if(n.right != null) allNodesAtACertainLevel(count, level, n.right);
}
else{
System.out.print(n.value);
}
}
Это не так.
private void allNodesAtACertainLevel(int count, int level, Node n){
if(count < level){
if(n.left != null) allNodesAtACertainLevel(count++, level, n.left);
if(n.right != null) allNodesAtACertainLevel(count++, level, n.right);
}
else{
System.out.print(n.value);
}
}
Может кто-нибудь объяснить, почему?