Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 1991] 트리 순회 본문
반응형
입력이 문자이므로 캐릭터형을 정수형으로 바꾸어 트리를 만들었다.
출력할때만 다시 캐릭터형으로 출력했다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
Tree t = new Tree(n);
while(n-->0) {
char[] c = sc.nextLine().toCharArray();
t.setChildren(c[0]-65, c[2]-65, c[4]-65);
}
t.preorder(0);
System.out.println();
t.inorder(0);
System.out.println();
t.postorder(0);
}
}
class Tree {
int n;
int parent[];
int lc[], rc[];
public Tree(int n) {
this.n = n;
parent = new int[n];
lc = new int[n];
rc = new int[n];
}
public void setChildren(int p, int l, int r) {
if(l != -19) parent[l] = p;
if(r != -19) parent[r] = p;
if(l != -19) lc[p] = l;
if(r != -19) rc[p] = r;
}
public void preorder(int root) {
System.out.print((char)(root + 65));
if(lc[root] != 0) preorder(lc[root]);
if(rc[root] != 0) preorder(rc[root]);
}
public void inorder(int root) {
if(lc[root] != 0) inorder(lc[root]);
System.out.print((char)(root + 65));
if(rc[root] != 0) inorder(rc[root]);
}
public void postorder(int root) {
if(lc[root] != 0) postorder(lc[root]);
if(rc[root] != 0) postorder(rc[root]);
System.out.print((char)(root + 65));
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 4803] 트리 (0) | 2019.05.27 |
---|---|
[백준 11725] 트리의 부모 찾기 (0) | 2019.05.27 |
[백준 2014] 소수의 곱 (0) | 2019.05.22 |
[백준 2075] N번째 큰 수 (0) | 2019.05.22 |
[백준 1715] 카드 정렬하기 (0) | 2019.05.22 |
Comments