重构树构建算法。
有些网络论坛采用树形布局,帖子以树的形式呈现。 然而,帖子通常作为一组无序的记录存储在数据库中。 因此,向用户展示帖子时,必须重新构建树形结构。
你的任务是重构一段能运行但缓慢且丑陋的代码,这段代码实现了针对高度抽象记录的树构建逻辑。 记录中只包含一个 ID 号和一个父 ID 号。 ID 号始终在 0(含)和记录列表的长度(不含)之间。 所有记录的父 ID 都小于自身的 ID,但根记录除外,其父 ID 等于自身的 ID。
一个示例树:
root (ID: 0, parent ID: 0)
|-- child1 (ID: 1, parent ID: 0)
| |-- grandchild1 (ID: 2, parent ID: 1)
| +-- grandchild2 (ID: 4, parent ID: 1)
+-- child2 (ID: 3, parent ID: 0)
| +-- grandchild3 (ID: 6, parent ID: 3)
+-- child3 (ID: 5, parent ID: 0)