关注
//自己重新写了一个Java的,按Ctrl-z可以结束,基本思路是用位图来实现快速发现根节点。然后
//多叉树的存储为链表结构
import java.io.*;
import java.util.*;
class Node {
int val;
Node child;
Node next;
Node(int v) {
val = v;
child = null;
next = null;
}
}
public class Build {
public static void myTraverse(Node root){
Node p = root;
//hierarchy traverse
while(p != null){
//cur root
System.out.print(p.val + " ");
//siblings
while(p.next != null){
System.out.print(p.next.val + " ");
p = p.next;
}
//child
if(p.child != null){
p = p.child;
}
else{
break;
}
}
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
//bitmap
//save every node
//find element quickly
Node[] arr = new Node[101];
for (int i = 0; i < 101; i++) {
arr[i] = null;
}
Node coreRoot = null;
int count = 0;
//Ctrl-z end input
while (in.hasNextLine()) {
String line = in.nextLine();
String strs[] = line.split("\\s+");
Node root = null;
for (int i = 0; i < strs.length; i++) {
int num = Integer.valueOf(strs[i]);
//cur root
if (i == 0) {
if (arr[num] == null) {
Node temp = new Node(num);
arr[num] = temp;
}
root = arr[num];
}
//this level siblings
else {
Node temp = null;
if (arr[num] == null) {
temp = new Node(num);
arr[num] = temp;
}
temp = arr[num];
Node p = root;
while (p.next != null) {
p = p.next;
}
p.next = temp;
}
}
//core root
if (count == 0) {
coreRoot = root;
}
count += 1;
}
myTraverse(coreRoot);
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享


点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 刚入职就____,这样正常吗? #
34327次浏览 287人参与
# 哪些公司对双非友好 #
61757次浏览 473人参与
# 小红书校招直播来了 #
50146次浏览 225人参与
# 你是怎么和mt相处的? #
32059次浏览 186人参与
# 面试反问你会问什么 #
41943次浏览 582人参与
# 实习返校后,你的精神状态是__? #
22559次浏览 123人参与
# 你朋友圈最大的人脉是谁? #
15209次浏览 118人参与
# 上班苦还是上学苦呢? #
273571次浏览 1727人参与
# 最难的技术面是哪家公司? #
42266次浏览 699人参与
# 关于求职,我有X不投 #
21868次浏览 150人参与
# 实习必须要去大厂吗? #
126864次浏览 1471人参与
# 秋招遇到的奇葩面试题 #
33356次浏览 181人参与
# 这个工作能去吗 #
14567次浏览 113人参与
# 招银网络求职进展汇总 #
135794次浏览 885人参与
# 机械人,你被简历秒挂的企业有哪些? #
57912次浏览 320人参与
# 找工作前vs找工作后的心路变化 #
19048次浏览 151人参与
# 4399求职进展汇总 #
29141次浏览 153人参与
# kpi面有什么特征 #
73001次浏览 455人参与
# 上班到公司第一件事做什么? #
89578次浏览 657人参与
# 机械人,签完三方你在忙什么? #
58848次浏览 228人参与
# 你觉得机械有必要实习吗 #
61294次浏览 476人参与