【发布时间】:2013-06-22 11:02:14
【问题描述】:
我有以下递归数据结构和迭代它的方法。在这样做的同时,它应该为每个节点添加一个唯一编号n,例如它在树的level order traversal 中的相应编号。
var data = {
children: [
{ children: [ ... ] },
{ children: [ ... ] },
{ children: [ ... ] },
...
]
}
var process = function (node) {
node.children.forEach(child, function () {
process(child);
});
return node;
}
如何在不更改数据结构和对处理功能进行最小更改的情况下实现这一目标? process(data) 的结果应该是
var data = {
n: 1
children: [
{ n: 2, children: [ ... ] },
{ n: 3, children: [ ... ] },
{ n: 4, children: [ ... ] },
...
]
}
【问题讨论】: