用递归的方式实现最简单,但在python中有最大递归数的限制,因此需要加上限制条件,否则会报错:
import sys
class Solution:
def inorderTraversal(self , root: TreeNode) -> List[int]:
# write code here
res = []
if root is None:
return res
# 添加最大递归限制
sys.setrecursionlimit(1500)
if root.left is not None:
res += self.inorderTraversal(root.left)
res += [root.val]
if root.right is not None:
res += self.inorderTraversal(root.right)
return res
用栈的方式实现