const tree = {
id: 1,
children: [
{
id: 2,
children: [
{
id: 3,
children: [
{ id: 4, children: [] },
{ id: 5, children: [] },
],
},
],
},
{
id: 6,
children: [
{
id: 7,
children: [
{ id: 8, children: [] },
{ id: 9, children: [] },
],
},
],
},
],
};
const func = (root) => {
if (root.children.length === 0) {
return [];
}
const res = [];
const dfs = (node) => {
if (node.children.length === 0) {
res.push(node.id);
return;
}
node.children.forEach(dfs);
};
dfs(root);
return res;
};
console.log(func(tree));
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…