递归遍历指定深度的树状数据结构

来源:互联网 发布:php curl 查看请求头 编辑:程序博客网 时间:2024/05/17 01:49

递归遍历固定深度的树状数据结构

kotlin伪代码

/** *  主要是通过参数num控制深度遍历算法的深度 -- 基与二叉树深度遍历 *  *  rootNode: 代表父节点 *  num: 代表筛选的层数 *  allNodeList: 用来存储迭代的数据 *  返回list集合 */fun getNodes(rootNode: String, num: Int, allNodeList: ArrayList<Node>): ArrayList<Node> {        val list = findByparentNode(rootNode)//获取父节点的全部子节点        val temp = num.dec()  // 相当于java的num--,递归一次就减一        if (list.size > 0) {            for(Node aNode : list) {//for-each循环                allNodeList.add(aNode)                //num控制树状结构数据的深度                if (num > 1) //这里控制着筛选的深度                    //递归                    getNodes(aNode, temp, occurrenceList)            }        }        return allNodeList  }
阅读全文
0 0
原创粉丝点击