N-ary Tree Preorder Traversal

EasyStackTreeDepth-First Search

Solution

import { NArrayTreeNode as Node } from '@algorithm/lib';
 
export function preorder(root: Node | null): number[] {
  if (!root) {
    return [];
  }
  const values: number[] = [];
  const traverse = (node: Node) => {
    values.push(node.val);
    node.children.forEach(traverse);
  };
  traverse(root);
  return values;
}