递归查询森林结构所有子节点

近期工作上遇到了这样一个需求,一张表用来存储树形结构的父节点和叶子节点,大体是这样定义的。

Table定义如下:

id groupid nodeid other
1 A001 A0001 ~~
2 B001 B0001 ~~
3 A0001 A00001 ~~
4 C001 C0001 ~~
5 C001 C0002 ~~

需求很简单:这张表表示的是一个数结构,其中groupid代表的是父节点,而nodeid代表的是相应的子节点,我们想要的是整个树结构的全部叶子节点。当然涉及到多棵树,就组成了森林结构,也就是查找指定森林结构的所有叶子节点。

思路也很Easy:遍历每一颗树,利用写好的递归查询函数去查询每棵树的最终叶子结点,然后把它们保存到静态list中。

详细代码如下:

指定结果为:leaf[‘A00001′,’B0001’]

递归查询森林结构所有子节点》上有1条评论

评论已关闭。