美文网首页
java遍历树获取所有路径

java遍历树获取所有路径

作者: 谁许谁欢颜 | 来源:发表于2020-05-21 16:41 被阅读0次
/**
 * 遍历获取链路路径,使用深度优先
 */

public class IteratorPathUtil {
    Map<String, List> pathMap=new HashMap();//记录全部从根节点到叶子结点的路径
    public Map<String, List> getPathMap()//返回路径map
    {
        return pathMap;
    }
    public void iteratorNode(PathVo n, Stack<PathVo> pathstack)
    {
        pathstack.push(n);//入栈
        List<PathVo> childlist=n.getPathVoList();
        if(childlist==null)//没有孩子 说明是叶子结点
        {
            List lst=new ArrayList();
            Iterator<PathVo> stackIt=pathstack.iterator();
            while(stackIt.hasNext())
            {
                lst.add(stackIt.next().getZDeviceId());

            }
            pathMap.put(n.getZDeviceId(), lst);//保存路径信息
        }
        else
        {
            Iterator it=childlist.iterator();
            while(it.hasNext())
            {
                PathVo child=(PathVo)it.next();
                iteratorNode(child,pathstack);//深度优先 进入递归
                pathstack.pop();//回溯时候出栈
            }

        }

    }

}

相关文章

  • java遍历树获取所有路径

  • 力扣 257 二叉树的所有路径

    题意:给定一个树,返回从根到叶节点的所有路径 思路:先序遍历树,获取所有路径 思想:树的先跟遍历 复杂度:时间O(...

  • go 遍历获取文件夹下所有文件路径

    go 遍历获取文件夹下所有文件路径 代码实现

  • 2019-03-08 lintcode2

    二叉树路径遍历 输出所有根节点到叶子节点的路径找出所有路径中相加总和等于给定值的路径 数据结构 链表:遍历、增加、...

  • 力扣 124 二叉树中的最大路径和

    题意:找出树的最大路径和 思路:后跟遍历树,获取当前子树的最大值,并用max记录最终结果 思想:后跟遍历 复杂度:...

  • 打印二叉树所有路径

    问题:打印二叉树的所有从根节点到叶子节点的路径。 思路:使用递归分别遍历左子树,然后遍历右子树,使用栈来存储路径上...

  • Java获取几个工作目录的方法

    java获取工程目录的几种方法 java 如何获取绝对路径与相对路径

  • 2020-11-17二叉树

    二叉树框架 二叉树中最路径和(后序遍历) 中序遍历

  • 树的遍历

    1、利用递归的方式获取树的前序遍历结果 2、 利用递归的方式获取树的中序遍历结果 3、利用递归的方式获取树的后序遍...

  • 经典算法题

    涉及:二叉树,遍历,深度广度遍历,快排,冒泡,单链表 二叉树: 1.给你一个二叉树,要你打印输出所有路径。http...

网友评论

      本文标题:java遍历树获取所有路径

      本文链接:https://www.haomeiwen.com/subject/hohtahtx.html