JSFiddle - React, Tailwind, and code Playground
by Aaron Zhang
JavaScript
function DFS(currentNode, list) {
list.push(currentNode.label);
for (var i = 0; i < currentNode.children.length; ++i) {
DFS(currentNode.children[i], list);
}
return list;
}
function BFS(currentNode, level, levelDict) {
levelDict[level] = levelDict[level] || [];
levelDict[level].push(currentNode.label);
++level;
for (var i = 0; i < currentNode.children.length; ++i) {
BFS(currentNode.children[i], level, levelDict);
}
return levelDict;
}
var root = {
label: 'a',
children: [{
label: 'b',
children: [{
label: 'd',
children: []
}]
}, {
label: 'c',
children: [{
label: 'e',
children: []
}]
}]
};