N ary tree preorder traversal

leetcode.cc

"""
# Definition for a Node.
class Node:
    def __init__(self, val=None, children=None):
        self.val = val
        self.children = children
"""

class Solution:
    def preorder(self, root: 'Node') -> List[int]:
        ret = []
        def dfs(root):
            if not root: return None 
            ret.append(root.val)
            for c in root.children:
                dfs(c)
        dfs(root)
        return ret