Given the root of an n-ary tree, return the postorder traversal of its nodes' values.
Nary-Tree input serialization is represented in their level order traversal. Each group of children is separated by the null value (See examples)
Example 1:

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

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: [2,6,14,11,7,3,12,8,4,13,9,10,5,1]
출처 : https://leetcode.com/problems/n-ary-tree-postorder-traversal/
풀이
/**
* Definition for node.
* class _Node {
* val: number
* children: _Node[]
* constructor(val?: number) {
* this.val = (val===undefined ? 0 : val)
* this.children = []
* }
* }
*/
function postorder(root: Node | null): number[] {
if(!root) return [];
const result = [];
function traverse(node) {
const children = node.children;
if(children.length) {
for(let i=0; i<children.length; i++) {
traverse(children[i]);
}
}
result.push(node.val);
}
traverse(root);
return result;
};
트리 구조의 데이터를 후위 순회(postorder traversal)하는 함수
후위 순회는 각 노드의 자식을 먼저 방문한 후에 그 노드를 방문하는 방식
'LeetCode' 카테고리의 다른 글
| 2248. Intersection of Multiple Arrays / TypeScript (0) | 2024.06.20 |
|---|---|
| 283. Move Zeroes / TypeScript (0) | 2024.06.18 |
| 1431. Kids With the Greatest Number of Candies / TypeScript (0) | 2024.06.16 |
| 3046. Split the Array / TypeScirpt (0) | 2024.06.15 |
| 1598. Crawler Log Folder / TypeScript (0) | 2024.06.15 |