java - 寻找树结构的最长路径

标签 java tree

我有一个如下所示的树结构:

Tree {
   Node root;
}

Node {
   List children;
}

我正在尝试创建一种返回最长路径长度的方法。我见过一些在二叉树时有效的解决方案,但每个节点可以拥有的子节点数量没有限制,这就是我遇到问题的地方。

最佳答案

我应该做一些这样的事情

int getLongestPathLength(Node node) {
    if(node == null) return 0;
    int max = 0;
    for(Node child : node.children){
        max = Math.max(getLongestPathLength(child),max);
    }
    return 1+max;
} 

关于java - 寻找树结构的最长路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012771/

相关文章:

java - 安卓广播地址

java - android中的登录表单验证

algorithm - 家庭作业帮助 - AVL 树

algorithm - 从 Just Inorder Traversal 中查找预序?

java - 在二维数组列表中深度优先搜索时如何解析 "OutOfMemoryError: Java heap space"?

java - 从jetty中运行的Web应用程序访问本地目录图像

java - 将文本设置为 switch 语句内的编辑文本时出错

java - 使用 JDBC 在 MySQL DB 中加载数据的最佳方法

java - 在二叉搜索树中的何处添加有效性检查

haskell - 验证二叉搜索树 - Haskell 初学者