[leetcode 75] 589.


문제 분석

n-ary 트리의 루트가 주어지면 선주문 순서로 방문 및 출력

선주문(선주문 흐름)이란 무엇입니까?

1. 루트 방문 후

2. 왼쪽 자식 노드를 반복적으로 방문

3. 그런 다음 돌아가서 올바른 하위 노드를 방문하십시오.

그런 다음 2-3단계를 반복합니다.

정답 예

public List<Integer> preorder(Node root) {
    if (root == null) {
        return new ArrayList<>();
    }
    List<Integer> output = new ArrayList<>();
    recursive(root, output);
    return output;
}

public void recursive(Node root, List<Integer> output) {
    output.add(root.val);
    if (root.children == null) {
        return;
    }
    root.children.forEach(c -> recursive(c, output));
}