#递归法
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
res = []
if root is None:
return res
self.helper(res, root)
return res
def helper(self, res: List[int], root: TreeNode):
if root is None:
return
res.append(root.val)
self.helper(res, root.left)
self.helper(res, root.right)
145.二叉树的后序遍历
#递归法
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def __init__(self):
self.res = [] # 初始化结果列表
def postorderTraversal(self, root: TreeNode) -> List[int]:
if root is None:
return self.res
self.helper(root)
return self.res
def helper(self, root: TreeNode):
if root is None:
return
self.helper(root.left)
self.helper(root.right)
self.res.append(root.val)
94.二叉树的中序遍历
#递归法
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def __init__(self):
self.res = [] # 初始化结果列表
def inorderTraversal(self, root: TreeNode) -> List[int]:
self.res = [] # 重置结果列表
self.helper(root)
return self.res
def helper(self, root: TreeNode):
if root is None:
return
self.helper(root.left)
self.res.append(root.val)
self.helper(root.right)