본문 바로가기
Coding Test/LeetCode

[LeetCode] 589. N-ary Tree Preorder Traversal [JAVA(자바)]

문제 👉 <N-ary Tree Preorder Traversal - LeetCode>

1. 문제

n 항 트리의 루트가 주어지면 노드 값의 사전 순회(Preorder)를 반환합니다.


Input: root = [1,null,3,2,4,null,5,6]
Output: [1,3,5,6,2,4]


Input: root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
Output: [1,2,3,6,7,11,14,4,8,12,5,9,13,10]

2. 풀이

preorder 를 이용한 풀이

  • self -> children

3. 코드

/*
// Definition for a Node.
class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, List<Node> _children) {
        val = _val;
        children = _children;
    }
};
*/


class Solution {
    // Preorder : self -> children    
    void traversal(Node root, List<Integer> ret) {
        if (root == null) return;

        // self
        ret.add(root.val);

        // children
        for (Node child : root.children)
            traversal(child, ret);
    }

    public List<Integer> preorder(Node root) {
        List<Integer> ret = new ArrayList<>();
        traversal(root, ret);
        return ret;
    }
}
  • 결과 :
Time Submitted Status Runtime Memory Language
05/03/2021 Accepted 0 ms 40.1 MB java


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글