关注
import java.util.*; public class Main { private static class TreeNode { int value;
ArrayList<TreeNode> sons = new ArrayList<>(); public TreeNode(int value) { this.value = value;
}
} private static Map<Integer, TreeNode> int2TreeNode = new HashMap<>(); public static void main(String args[]) throws Exception {
Scanner cin = new Scanner(System.in); while (cin.hasNext()) { int n = cin.nextInt();
HashSet<Integer> parents = new HashSet<>();
HashSet<Integer> sons = new HashSet<>(); for (int i = 0; i < n - 1; i++) { int parent = cin.nextInt(); int son = cin.nextInt(); if (!int2TreeNode.containsKey(parent)) { int2TreeNode.put(parent, new TreeNode(parent));
} if (!int2TreeNode.containsKey(son)) { int2TreeNode.put(son, new TreeNode(son));
} int2TreeNode.get(parent).sons.add(int2TreeNode.get(son));
parents.add(parent);
sons.add(son);
}
parents.removeAll(sons); int root = 0; for (Integer item : parents) {
root = item;
}
System.out.println(dfs(root));
}
} private static int dfs(int root) {
TreeNode rootNode = int2TreeNode.get(root); if (rootNode == null || rootNode.sons.size() == 0) return 1; else { int maxx = 0; for (int i = 0, len = rootNode.sons.size(); i < len; i++) { int nextRoot = rootNode.sons.get(i).value; if (nextRoot != root) {
maxx = Math.max(maxx, dfs(nextRoot));
}
} return maxx + 1;
}
}
}
查看原帖
点赞 评论
相关推荐
06-26 22:20
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
31879次浏览 228人参与
# 面试官是我前女友 #
106271次浏览 724人参与
# 计算机有哪些岗位值得去? #
10782次浏览 97人参与
# 说说你知道的学历厂 #
22771次浏览 137人参与
# 应届生,你找到工作了吗 #
16611次浏览 136人参与
# 携程求职进展汇总 #
559078次浏览 4257人参与
# 你找工作的时候用AI吗? #
12768次浏览 139人参与
# 哪一瞬间觉得自己长大了 #
6214次浏览 115人参与
# 面试尴尬现场 #
18860次浏览 118人参与
# 下班后的时间你怎么安排 #
6017次浏览 70人参与
# 社会教会你的第一课 #
24905次浏览 312人参与
# 电网笔面经互助 #
36094次浏览 351人参与
# 你认为小厂实习有用吗? #
8886次浏览 92人参与
# 当你面对裁员会如何? #
275459次浏览 2429人参与
# 职场中对你有帮助的书 #
17488次浏览 203人参与
# 学历贬值真的很严重吗? #
21847次浏览 162人参与
# 简历当中有水分算不算造假? #
21017次浏览 254人参与
# 双非应该如何逆袭? #
188257次浏览 3412人参与
# 实习/项目/竞赛奖项,哪个对找工作更重要? #
86564次浏览 1123人参与
# 现在前端的就业环境真的很差吗 #
294939次浏览 3572人参与