我想逐级显示树结构。我当前的代码执行 BFS 或级别顺序遍历,但我无法获得输出以显示树状结构,请参阅当前输出和预期输出。
我的想法是使用某种计数来迭代队列中同一级别的元素。
我怎么能这样做。
如果有人需要整个实现,可以在下面的链接中找到没有此功能的原始代码,否则只需查看下面的 displayBFS 功能。
谢谢!
void displayBFS(NaryTreeNode n)
{
Queue<NaryTreeNode> q = new LinkedList<NaryTreeNode>();
System.out.println(n.data);
while(n!=null)
{
for(NaryTreeNode x:n.nary_list)
{
q.add(x);
System.out.print(x.data + " ");
}
n=q.poll();
System.out.println();
}
}
Current Tree Structure for reference:
root(100)
/ | \
90 50 70
/ \
20 30 200 300
Current Output:
100
90 50 70
20 30
200 300
Expected Output
100
90 50 70
20 30 200 300
另外,我之前发布了一个具有相同功能的逻辑问题,因为该问题已得到回答,并且当前问题涉及另一个问题,我发布了一个新问题,这种方法可以吗?或者我应该对之前的问题进行编辑而不打开一个新的?