根据遍历结果反向构建树
业务中也许会遇到反向构建树的情形,如从外部工具获取到依赖关系、行政区划,组织架构等文本数据时,如何去反向构建树。我们以“获取到了树的深度遍历结果,然后将树结构构建出来,最后用JSON格式输出”,来模拟此类树的反向构建过程。本文采用Ruby作为描述语言。
1) 已获取的树的遍历结果文本
company
+- org-1
+- org-2
| \- org-2.1
+- org-3
+- org-4
+- org-5
+- org-6
+- org-7
| +- org-7.1
| | \- org-7.1.1
| +- org-7.2
| \- org-7.3
+- org-8
| +- org-8.1
| \- org-8.2
+- org-9
+- org-10
| +- org-10.1
| \- org-10.2
+- org-11
+- org-12
| \- org-12.1
+- org-13
+- org-14
| +- org-14.1
| \- org-14.2
+- org-15
+- org-16
| +- org-16.1
| | +- org-16.1.1
| | | \- org-16.1.1.1
| | +- org-16.1.2
| | +- org-16.1.3
| | \- org-16.1.4
| +- org-16.2
| | \- org-16.2.1
| \- org-16.3
+- org-17
+- org-18
| \- org-18.1
+- org-19
+- org-20
+- org-21
| +- org-21.1
| \- org-21.2
+- org-22
+- org-23
+- org-24
| \- org-24.1
+- org-25
+- org-26
+- org-27
+- org-28
| \- org-28.1
+- org-29
| +- org-29.1
| \- org-29.2
\- org-30
2)Ruby反向构建树代码
阅读更多