вот код функции, которая использует очередь и разделитель для определения высоты дерева, но во время работы я получаю вывод: «Ваша программа заняла больше времени, чем ожидалось».
Примечание: "узел" является корнем дерева
class GfG
{
int height(Node node)
{
Node pivot;
int h=0;
Queue<Node> temp = new LinkedList<Node>();
temp.add(node);
temp.add(null);
while(true)
{
if(temp.isEmpty()){break;}
System.out.println("hi");
pivot = temp.poll();
if(pivot != null)
{
if(pivot.left != null)
{
temp.add(pivot.left);
}
else
{
continue;
}
if(pivot.right != null)
{
temp.add(pivot.right);
}
else
{
continue;
}
}
else if(pivot == null)
{
temp.add(null);
h=h+1;
}
}
return h;
}