【发布时间】:2018-06-22 12:15:11
【问题描述】:
当一个级别成员作为输入时,我必须找到同一级别的节点。但我无法获得估计的输出。我没有找到我的代码错误的地方。我给出了我无法识别错误的代码。谁能解释我在代码中犯的错误?
我的示例输入和输出是,
10
/ \
17 12
/ \ / \
10 8 1 3
例如:-
输入:17
输出:12
输入:1
输出:8 或 3 或 10
这是我的示例代码,
public void printNode(Node node)
{
Queue<Node> que = new LinkedList<Node>();
Queue<Node> aux = new LinkedList<Node>();
que.add(root);
while(!que.isEmpty())
{
Node temp = que.poll();
System.out.println(temp+" ");
if(temp.left != null)
{
que.add(temp.left);
aux.add(temp.left);
}
if(temp.right != null)
{
que.add(temp.right);
aux.add(temp.right);
}
if(aux.contains(node))
{
while(!aux.isEmpty())
{
if(aux.poll() != node)
System.out.print(aux.poll()+" ");
}
}
else
{
aux.clear();
}
}
}
【问题讨论】:
-
请发minimal reproducible example,包括测试数据
标签: java binary-tree