import java.util.*; public class One { static class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int x) { val = x; } public void TreeNodeNext(TreeNode a){ if(left==null)left=a; else right=a; } } static int getNodeNum(TreeNode root) { if (root == null) { return 0; } return getNodeNum(root.left) + getNodeNum(root.right) + 1; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n= scanner.nextInt(); HashMap<Integer,TreeNode>hashMap=new HashMap<>(); for (int i = 0; i <n-1 ; i++) { int a= scanner.nextInt(); int b= scanner.nextInt(); if(!hashMap.containsKey(a))hashMap.put(a,new TreeNode(a)); if(!hashMap.containsKey(b))hashMap.put(b,new TreeNode(b)); hashMap.get(b).TreeNodeNext(hashMap.get(a));//我这默认的是例如3-2 2是父节点 3是子节点 题目给的测试用例是这样,可能其他的例子不是 } TreeNode root=hashMap.get(1); int sumleft=0,sumright=0; if (root.left!=null) sumleft=getNodeNum(root.left); if (root.right!=null) sumright=getNodeNum(root.right); System.out.println(Math.max(sumleft,sumright)); } }
点赞 1

相关推荐

10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
饿魔:看到在线简历了吧
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务