1
# Runtime: 58 ms (Top 23.56%) | Memory: 13.9 MB (Top 60.28%)2
from collections import deque3
from typing import List, Optional12
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:21
preorder.append(node.val)23
if node.right is not None:24
queue.append(node.right)25
if node.left is not None:26
queue.append(node.left)37
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:38
return list(self.preorder_generator(root))41
def preorder_generator(cls, tree: Optional[TreeNode]):44
yield from cls.preorder_generator(tree.left)45
yield from cls.preorder_generator(tree.right)