2 个回答
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));
推荐问题