我有一个如下所示的平面列表。
nodeA
nodeB
nodeC
endnodeC
nodeD
endnodeD
endnodeB
endnodeA
有没有办法像下面这样在java中创建父子数据结构。
A
|
B
/ \
C D
最佳答案
假设结果节点类似于:
class Node {
Node parent;
// other data
}
从平面列表生成的伪代码是(假设平面节点列表具有正确的结构和对):
Node currentNode;
foreach (n in flatNodes) {
if (n is endnode) {
currentNode = currentNode.parent
} else {
Node newNode = createNodeBaseOnFlatNode(n);
newNode.parent=currentNode;
currentNode = newNode;
}
}
关于java - 从简单列表创建父/子数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4282464/