# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @return int整型一维数组 # class Solution: # 递归写法 def inorderTraversal_1(self , root: TreeNode) -> List[int]: # write code here """ 1. 左----中----右 """ ans =[] def dfs(root): if root is None: return if root.left: dfs(root.left) ans.append(root.val) if root.right: dfs(root.right) dfs(root) return ans # 非递归 def inorderTraversal(self , root: TreeNode) -> List[int]: stack =[] res=[] cur =root while stack or cur : while cur: # 一直遍历左子树 stack.append(cur) print(cur.val) cur=cur.left node =stack.pop() res.append(node.val) if node.right: cur=node.right return res