树
二叉树的前序遍历
给定一个二叉树的根节点 root ,返回它节点值的 前序 遍历。
# 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: TreeNode) -> List[int]:
if root == None:
return []
return [root.val]+Solution().preorderTraversal(root.left)+Solution().preorderTraversal(root.right)
二叉树的中序遍历
给定一个二叉树的根节点 root ,返回它的 中序 遍历。
# 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 inorderTraversal(self, root: TreeNode) -> List[int]:
if root == None:
return []
return Solution().inorderTraversal(root.left)+[root.val]+Solution().inorderTraversal(root.right)
二叉树的后序遍历
给定一个二叉树的根节点 root ,返回它的 后序 遍历。
# 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 postorderTraversal(self, root: TreeNode) -> List[int]:
if root == None:
return []
return Solution().postorderTraversal(root.left)+Solution().postorderTraversal(root.right)+[root.val]