# N-ary Tree Preorder Traversal- Easy

`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]`
`"""# 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]:        stack = [root]        res = []                while stack:            node = stack.pop()                        if node:                res.append(node.val)                                # Instead of appending one child at a time,                 # extend the stack -> its 30% more faster.ArithmeticError                # push the children from right to left                 stack.extend(node.children[::-1])                # for x in node.children[::-1]:                #     stack.append(x)                                return res`
`class Solution:    def __init__(self):        self.res = []            def preorder(self, root: 'Node') -> List[int]:        if root:            self.res.append(root.val)            for child in root.children:                self.preorder(child)                                return self.res`

--

--

## More from Technical Interviews Preparation

Currently preparing for interviews

Love podcasts or audiobooks? Learn on the go with our new app.