classSolution: definorderTraversal(self, root: Optional[TreeNode]) -> List[int]: defdfs(node: TreeNode, result: List[int]) -> None: if node == None: return dfs(node.left, result) result.append(node.val) dfs(node.right, result) result = [] dfs(root, result) return result
迭代
1 2 3 4 5 6 7 8 9 10 11 12 13 14
classSolution: definorderTraversal(self, root: Optional[TreeNode]) -> List[int]: result = [] stack = [] cur = root while cur != Noneor stack: if cur != None: stack.append(cur) cur = cur.left else: cur = stack.pop() result.append(cur.val) cur = cur.right return result