关注
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; }
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客AI体验站 #
18255次浏览 314人参与
# 记录实习开销 #
185173次浏览 843人参与
# 牛客新年AI问运 #
16106次浏览 175人参与
# 大家每天通勤多久? #
84135次浏览 708人参与
# 正在实习的你,几点下班 #
297578次浏览 2082人参与
# 牛客租房专区 #
154652次浏览 1629人参与
# 不给转正的实习,你还去吗 #
2627611次浏览 22924人参与
# 选择和努力,哪个更重要? #
191448次浏览 1497人参与
# 如何缓解入职前的焦虑 #
259969次浏览 1458人参与
# 我的岗位说明书 #
308163次浏览 2753人参与
# 有转正机会的小厂实习值得去吗? #
1204次浏览 22人参与
# 金融银行求职进展汇总 #
309763次浏览 1686人参与
# 你小时候最想从事什么职业 #
154217次浏览 2059人参与
# 校招入职后的感受 #
488701次浏览 3682人参与
# 入职第一天 #
47661次浏览 554人参与
# 投递无反馈,如何优化求职策略? #
8761次浏览 43人参与
# 工作后会跟朋友渐行渐远吗 #
60315次浏览 415人参与
# 你最讨厌面试被问什么 #
2169次浏览 30人参与
# 牛友们,签完三方你在忙什么? #
137651次浏览 997人参与
# 帆软软件工作体验 #
14730次浏览 86人参与

