Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
587 views
in Technique[技术] by (71.8m points)

算法 树遍历 给定树结构数据的任意id,匹配无限树结构数据,得到该树第一层下所有的节点的最后一层数据组成1唯数组

image.png


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
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));

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...