计算树的深度广度2

69 阅读1分钟

题目:

  const node = [
    {
      title: 'name-1',
      children: [
        {
          title: 'name-1-1',
          children: [
            {
              title: 'name-1-1-1',
            }
          ],
        }
      ],
    },
    {
      title: 'age',
    },
  ];

计算树的深度

  function handleGetTreeDeep(fileHeader) {
    let deep = 0;
    fileHeader.forEach((item) => {
      if (item.children) {
        deep = Math.max(deep, handleGetTreeDeep(item.children) + 1);
      } else {
        deep = Math.max(deep, 1);
      }
    });
    return deep;
  }

计算树的广度

  function handleGetTreeExtent(node) {
    let extend = 0;
    node.forEach((item) => {
      if (item.children) {
        extend += handleGetTreeExtent(item.children);
      } else {
        extend += 1;
      }
    });
    return extend;
  }