实现 arrayToTree(list):把带 id / parentId 的扁平列表转成树(森林)。每个结点输出 { id, name, children },children 为子结点数组(无子结点时为空数组),子结点按在列表中出现的顺序排列;parentId 为 null 或在列表中找不到的结点视为根,根按出现顺序排列。要求只遍历列表常数次(不得对每个结点重复扫描整个列表)。本题为「核心代码模式 · 仅 JavaScript」:模板已内置 JSON 读入与输出脚手架,只需补全指定函数。
输入描述
一行 JSON:{"list": [{"id", "parentId", "name"}...]},id 为整数且互不相同。