2013-11-27 40 views
0

我有一个树结构,我希望能够通过并将父节点添加到每个子节点具有的数据父变量。将父母添加到树中的节点?

树的结构是:

Class Tree { 
    Node root; 
} 

Class Node { 
    String data; 
    Node parent; 
    List<Node> children; 
} 

有什么建议?

编辑更具体

public void addParent() { 
    for (Node child : curNode.children) { 
     child.parent = curNode; 
     curNode = child; 
     findDFS(value); 
    } 
    return null; 
} 

与代码和给定树:

 A 
    /\ 
    D E 
    /\ 
     B S 

E公司的母公司是d时,它应该是一个,这是为什么?

+1

目前,这个问题非常模糊。考虑发布一些你已经尝试过的例子以及你面临的问题。 –

+0

我使它更具体 – user2998228

+0

你的意思是E的父母是A?另外,自从您为孩子列出了一张名单后,父母是否只有2个孩子或2个以上的孩子? – chuthan20

回答

0

E的父母是D时,它应该是A,为什么?

在你的循环,你正在做的:

for (Node child : curNode.children) { 
    child.parent = curNode; 
    curNode = child; // <-- problem is here!!! 
    findDFS(value); 
} 

,这意味着:在第一循环中,您要指定孩子的当前节点继续循环,在未来的孩子与第一个孩子为一个“父母”,然后再...