【发布时间】:2015-03-22 20:13:37
【问题描述】:
我有一个方法需要遍历嵌套元素并返回一个字符串,该字符串应该作为遍历树的结果连接起来。通过搜索,我相信递归将是一种更简单的方法,但我无法获得所需的结果。
数据结构:
root
child 1
child 1.1
child 1.2
child 2
child 2.1
child 2.2
child 2.2.1
child 3
好的,就是这个意思。我需要从一个孩子开始循环,通过列出从孩子起点到根的元素来找到到根的路径。
例如:我正在寻找孩子 2.2.1。返回答案应该是:
child 2.2.1,child 2.2, child 2, root
Private String loopthrough(String name, String needed LinkedList myList)
List<String>Children = new ArrayList<String>();
for (String child : children)
{
if (child.isParentOf(needed ))
{ name+=child.getName
}
else{
goneThrough.add(child);
}
}
children = goneThrough;
for (String child : children)
{
loopthrough(child);
}
【问题讨论】:
-
请添加您目前拥有的代码,以及您遇到问题的哪一部分。
-
@Keppil 我包含了代码
-
请解释你为什么投反对票,如果有的话请给出答案!
-
投反对票可能是因为您发布了代码但没有解释它以何种方式无法解决您的问题。例如,为什么您发布的代码无法编译。
-
你写了从一个孩子开始寻找到根的路径所以如果数据结构的接口在你手中,只需向它添加一个
getParent()方法并调用getParent()直到到达根节点。如果您只有isParentOf方法getParent可以通过迭代所有节点来实现,即在 hyrarchie 中当前节点的上一层。 (就像说这仅适用于您真正从子节点开始...)