关注
楼主第二题能用你的样例测一下这个代码么,我用你的代码跑了一下,和我的输出是相同的,不知道错了哪个
样例。
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
相关推荐
点赞 评论 收藏
分享
2024-11-29 10:15
南昌航空大学科技学院 嵌入式软件工程师 戏子多秋m:项目做了有,但是没奖项,没实习,学校可能没有太大优势,建议项目写三个就可以了,技能点可能得优化下,个人感觉,我也是菜鸡,不是很懂,单纯个人建议,感觉秋招还在捞双非,加油兄弟
点赞 评论 收藏
分享
2024-12-08 18:59
东北大学 Java Java抽象带篮子:外卖项目可以看看我的详细的外卖话术,里面还写了怎么描述项目,还为了提高含金量额外增加了很多技术亮点呢。另外我这边还有个7000多字的轮子项目话术,可以狠狠的速成,需要的似我
点赞 评论 收藏
分享
牛客热帖
- 1... Java逆袭指南 | 神哥助你一个月拿下大厂offer | 手把手教你准备春招与暑期实习1.8W
- 2... 26届 Java日常实习timeline1.2W
- 3... 【26届三段大厂实习】如何成为大老板嫡系的技巧6030
- 4... 被同学举报实习了,辅导员大半夜给我打视频3536
- 5... 落魄女开发实习校招论文三手抓的日常3394
- 6... 组里社招到了一个学历造假的3327
- 7... 协商离职了,明天lastday3171
- 8... 面试是有技巧的,能救一个是一个3138
- 9... 百度日常2779
- 10... 0offer也不要焦虑,出门看看放松身心2429
正在热议
# 职场高情商速成班 #
1696次浏览 46人参与
# 测测你的职业性格 #
27167次浏览 275人参与
# 被同事甩锅了怎么办 #
13509次浏览 88人参与
# 机械制造薪资爆料 #
1147829次浏览 9395人参与
# 我的简历长这样 #
2084202次浏览 28192人参与
# 对未来的工作有什么期待 #
13446次浏览 112人参与
# 如何写一份好简历 #
676566次浏览 9219人参与
# 机械人怎么评价今年的华为 #
169744次浏览 1425人参与
# 如何一边实习一边秋招 #
1098891次浏览 13464人参与
# 那些拿到大厂offer的简历长啥样 #
172417次浏览 2765人参与
# 我的实习求职记录 #
6494144次浏览 86219人参与
# 我的岗位说明书 #
120632次浏览 1161人参与
# 大家每天通勤多久? #
14484次浏览 116人参与
# 你们的毕业论文什么进度了 #
856931次浏览 8641人参与
# 软件开发投递记录 #
1585126次浏览 24909人参与
# 分享一个让你热爱工作的瞬间 #
11636次浏览 122人参与
# 面试题刺客退退退 #
175676次浏览 2473人参与
# 提前批简历挂麻了怎么办 #
167983次浏览 2105人参与
# 秋招你被哪家公司挂了? #
403084次浏览 3637人参与
# lastday知无不言 #
33556次浏览 329人参与