- # Definition for a binary tree node.
- # class TreeNode:
- #     def __init__(self, x):
- #         self.val = x
- #         self.left = None
- #         self.right = None
- class Solution:
-     def preorderTraversal(self, root: TreeNode) -> List[int]:
-         # 根 - 左 - 右
-         if not root: return []
-         stack = [root]
-         ans = []
-         while stack:
-             root = stack.pop()
-             ans.append(root.val)
-             if root.right is not None:
-                 stack.append(root.right)
-             if root.left is not None:
-                 stack.append(root.left)
-         return ans
- # Definition for a binary tree node.
- # class TreeNode:
- #     def __init__(self, x):
- #         self.val = x
- #         self.left = None
- #         self.right = None
- class Solution:
-     def preorderTraversal(self, root: TreeNode) -> List[int]:
-         # 根 - 左 - 右
-         if root is None:
-             return []
-         return [root.val] + self.preorderTraversal(root.left) + self.preorderTraversal(root.right)