关注
楼主第二题能用你的样例测一下这个代码么,我用你的代码跑了一下,和我的输出是相同的,不知道错了哪个
样例。
import java.util.*; class Node {
String name; int parent; ArrayList<Node> children; Node() { this.children = new ArrayList<>(); }
} public class Mainb { public static void dfs(Node nodes, String s) { if (nodes.children.size() == 0) return; for (int i = 0; i < nodes.children.size(); i++) {
Node node = nodes.children.get(i); String s1; if (i != nodes.children.size() - 1)
s1 = s + "|"; else s1 = s + "`"; System.out.println(s1 + "-- " + node.name); if (node.children.size() > 0 && i != nodes.children.size() - 1) {
String ss = ""; if (s == "")
ss = s + " |"; else ss = s + "| "; dfs(node, ss); } else if (node.children.size() > 0 && i == nodes.children.size() - 1) {
String ss = ""; if (s == "")
ss = s + " "; else ss = s + " "; dfs(node, ss); }
}
} public static void main(String [] args) {
Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Node [] nodes = new Node[n]; Node root; HashMap<Integer, Node> map = new HashMap<>(); for (int i = 0; i < n; i++) {
nodes[i] = new Node(); nodes[i].name = sc.next(); nodes[i].parent = sc.nextInt(); if (i == 0)
root = nodes[i]; map.put(i, nodes[i]); } for (int i = 1; i < n; i++) {
Node parent = map.get(nodes[i].parent); if (parent != null)
parent.children.add(nodes[i]); } for (int i = 0; i < n; i++) {
Collections.sort(nodes[i].children,new Comp()); }
System.out.println(nodes[0].name); String s = ""; dfs(nodes[0], s); }
} class Comp implements Comparator { public int compare(Object s11, Object s22) {
Node node1 = (Node) s11; Node node2 = (Node) s22; String s1 = node1.name; String s2 = node2.name; int n1 = s1.length(); int n2 = s2.length(); int min = Math.min(n1, n2); for (int i = 0; i < min; i++) { char c1 = s1.charAt(i); char c2 = s2.charAt(i); if (c1 != c2) {
c1 = Character.toUpperCase(c1); c2 = Character.toUpperCase(c2); if (c1 != c2) {
c1 = Character.toLowerCase(c1); c2 = Character.toLowerCase(c2); if (c1 != c2) { // No overflow because of numeric promotion return c1 - c2; }
}
}
} return n1 - n2; }
} /* 10 my-app -1 src 0 main 1 java 2 resources 2 webapp 2 test 1 java 6 resources 6 pom.xml 0 my-app |-- pom.xml `-- src |-- main | |-- java | |-- resources | `-- webapp `-- test |-- java `-- resources */
查看原帖
点赞 2
相关推荐
05-11 14:43
北京艺术传媒职业学院 Java 点赞 评论 收藏
分享
05-12 15:20
三峡大学 大数据开发工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 要毕业了,再不说就来不及了 #
27442次浏览 349人参与
# 我的租房踩坑经历 #
227018次浏览 1201人参与
# 第3届现代汽车Code Faster急速编程挑战赛 #
4380次浏览 200人参与
# 蔚来工作体验 #
35765次浏览 94人参与
# 你觉得什么岗位会被AI替代 #
68067次浏览 394人参与
# 国企/银行/研究所公司爆料 #
221334次浏览 941人参与
# 你都用AI做什么 #
57047次浏览 536人参与
# 0offer是寒冬太冷还是我太菜 #
1819809次浏览 10765人参与
# 体制内上岸心路历程 #
41569次浏览 243人参与
# 春招/暑实第一面是哪家? #
115653次浏览 1212人参与
# 求职遇到的搞笑事件 #
206735次浏览 1071人参与
# 春招你拿到offer了吗 #
939767次浏览 10329人参与
# 你是怎么和mt相处的? #
112690次浏览 589人参与
# 找工作时遇到的神仙HR #
1257397次浏览 5965人参与
# 牛友の3月总结 #
59311次浏览 288人参与
# 你都收到了哪些公司的感谢信? #
5520152次浏览 36250人参与
# xxx岗位的一天 #
58230次浏览 290人参与
# 我的第一份实习怎么找的 #
294510次浏览 2122人参与
# 第一次面试 #
1157873次浏览 13954人参与
# 数据人offer决赛圈怎么选 #
383277次浏览 2985人参与
# 比亚迪求职进展汇总 #
946952次浏览 3168人参与
