链接:94. 二叉树的中序遍历 - 力扣(LeetCode)

递归

 1 # Definition for a binary tree node.
 2 # class TreeNode(object):
 3 #     def __init__(self, val=0, left=None, right=None):
 4 #         self.val = val
 5 #         self.left = left
 6 #         self.right = right
 7 class Solution(object):
 8     def inorderTraversal(self, root):
 9         """
10         :type root: Optional[TreeNode]
11         :rtype: List[int]
12         """
13         res = []
14         def dfs(root):
15             if not root:
16                 return
17             dfs(root.left)
18             res.append(root.val)
19             dfs(root.right)
20         dfs(root)
21         return res
22