[백준](트리) - 전위, 중위, 후위 순회
https://www.acmicpc.net/problem/1991
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
class TrNode {
public char data;
public TrNode left;
public TrNode right;
public TrNode(char data) {
this.data = data;
}
}
public class TreeTraversal {
public static void preorder(TrNode node) {
if(node != null) {
System.out.print(node.data);
preorder(node.left);
preorder(node.right);
}
}
public static void inorder(TrNode node) {
if(node != null) {
inorder(node.left);
System.out.print(node.data);
inorder(node.right);
}
}
public static void postorder(TrNode node) {
if(node != null) {
postorder(node.left);
postorder(node.right);
System.out.print(node.data);
}
}
public static void createNode(TrNode node, char data, char left, char right) {
if(node == null) {
return;
}else if(node.data == data ) {
if(left != '.') {
node.left = new TrNode(left);
}
if(right != '.') {
node.right = new TrNode(right);
}
} else {
createNode(node.left, data, left, right);
createNode(node.right, data, left, right);
}
}
public static void main(String[] args) throws IOException {
// BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("src/tree_traversal.txt"))));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
ArrayList<ArrayList<Integer>> ar = new ArrayList<ArrayList<Integer>>();
for(int i=0; i<n; i++) {
ar.add(new ArrayList<Integer>());
}
TrNode root = new TrNode('A');
for(int i=0; i<n; i++) {
st = new StringTokenizer(br.readLine());
char data = st.nextToken().charAt(0);
char left = st.nextToken().charAt(0);
char right = st.nextToken().charAt(0);
createNode(root, data, left, right);
}
preorder(root);
System.out.println();
inorder(root);
System.out.println();
postorder(root);
}
}
Author And Source
이 문제에 관하여([백준](트리) - 전위, 중위, 후위 순회), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@idnnbi/백준트리-전위-중위-후위-순회저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)