백준 1991 트리 순회 JAVA

sundays·2023년 5월 26일
0

문제

트리 순회

풀이

트리를 안푼지가 생각보다 오래되었더라구요. 오래간만에 트리를 합니다

  1. 전위 순회 (pre-order)
private static void preOrder(Node node) {
	if (node.value == null) return;
    System.out.println(node.value);
    preOrder(node.left);
    preOrder(node.right);
}
  1. 중위 순회 (in-order)
private static void inOrder(Node node) {
	if (node.value == null) return;
    inOrder(node.left);
    System.out.println(node.value);
    inOrder(node.right);
}
  1. 후위 순회 (post-order)
private static void postOrder(Node node) {
	if (node.value == null) return;
    postOrder(node.left);
    postOrder(node.right);
    System.out.println(node.value);
}
  1. node 생성하기
private static void insertNode(Node root, char value, char left, char right) {
	if (root.value == value) {
    	root.left = (left == '.' ? null : new Node(left, null, null));
        root.right = (right == '.' ? null : new Node(right, null, null));
    } else {
    	if (root.left != null) insertNode(root.left, value, left, right);
        if (root.right != null) insertNode(root.right, value, left, right);
    }
}

전체 코드

전체 코드

profile
develop life

0개의 댓글

관련 채용 정보