1. # Definition for a binary tree node.
    2. # class TreeNode:
    3. # def __init__(self, x):
    4. # self.val = x
    5. # self.left = None
    6. # self.right = None
    7. class Solution:
    8. def inorderTraversal(self, root: TreeNode) -> List[int]:
    9. # 左 - 根 - 右
    10. if root is None:
    11. return []
    12. return self.inorderTraversal(root.left) + [root.val] + self.inorderTraversal(root.right)
    1. class Solution:
    2. def inorderTraversal(self, root: TreeNode) -> List[int]:
    3. # 左 - 根 - 右
    4. if root is None: return []
    5. stack = []
    6. ans = []
    7. while root or stack:
    8. while root is not None:
    9. stack.append(root)
    10. root = root.left
    11. root = stack.pop()
    12. ans.append(root.val)
    13. root = root.right
    14. return ans