【发布时间】:2014-12-03 01:42:17
【问题描述】:
我有以下树结构:
在java中实现如:
public class myprogram
{
public static void main(String[] args)
{
Node Boss= new Node(0, "Boss");
Node Manager1= new Node(1, "Manager1");
Node Manager2= new Node(1, "Manager2");
Node AssistantManager = new Node(2,"AssistantManager");
Node Employee3 = new Node(3,"Employee3");
Node Employee4 = new Node(3,"Employee4");
Node Employee1 = new Node(6, "Employee1");
Node Employee2 = new Node(6, "Employee2");
Boss.left = Manager1;
Boss.right = Manager2;
Manager1.left = AssistantManager;
Manager1.right = null;
AssistantManager.left = Employee1;
AssistantManager.right = Employee2;
Manager2.left = Employee3;
Manager2.right = Employee4;
}
static class Node
{
Node left;
Node right;
int value;
String name;
public Node(int value, String name)
{
this.value = value;
this.name = name;
}
}
}
我的目标是创建一个方法来查找此树结构中两个节点之间的路径。例如,输入可能是:
String path = findPath(Boss,"AssistantManager", "Manager2");
System.out.println(path);
鉴于此,“findPath”方法应返回“AssistantManager > Manager1 > Boss
如果输入是'Employee1,Employee2',它应该给出:
Employee1 > AssistantManager < Employee2
我一直在努力实现这一目标,因此非常感谢任何有关如何编码的帮助。
【问题讨论】:
标签: java path binary-tree