94. Binary Tree Inorder Traversal
- Binary Tree Inorder Traversal python solution
题目描述
Given a binary tree, return the inorder traversal of its nodes’ values.
解析
本题想要得到中序遍历的结果,即左根右的形式。分别提供递归方法和迭代方法进行求解。
递归方法
class Solution(object):
def inorderTraversal(self, root):
self.res = []
self.dfs(root)
return self.res
def dfs(self, root):
if not root:
return
self.dfs(root.left)
self.res.append(root.val)
self.dfs(root.right)
迭代方法
class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
res,stack=[],[]
while root or stack:
if root:
stack.append(root)
root=root.left
else:
node=stack.pop()
res.append(node.val)
root=node.right
return res
Reference
https://leetcode.com/problems/binary-tree-inorder-traversal/discuss/158278/Python-Stack-or-DFS-tm