二叉树的前序遍历

给定一个二叉树的根节点 root ,返回它节点值的 前序 遍历。

  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. # def __init__(self, val=0, left=None, right=None):
  4. # self.val = val
  5. # self.left = left
  6. # self.right = right
  7. class Solution:
  8. def preorderTraversal(self, root: TreeNode) -> List[int]:
  9. if root == None:
  10. return []
  11. return [root.val]+Solution().preorderTraversal(root.left)+Solution().preorderTraversal(root.right)

二叉树的中序遍历

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. # def __init__(self, val=0, left=None, right=None):
  4. # self.val = val
  5. # self.left = left
  6. # self.right = right
  7. class Solution:
  8. def inorderTraversal(self, root: TreeNode) -> List[int]:
  9. if root == None:
  10. return []
  11. return Solution().inorderTraversal(root.left)+[root.val]+Solution().inorderTraversal(root.right)

二叉树的后序遍历

给定一个二叉树的根节点 root ,返回它的 后序 遍历。

  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. # def __init__(self, val=0, left=None, right=None):
  4. # self.val = val
  5. # self.left = left
  6. # self.right = right
  7. class Solution:
  8. def postorderTraversal(self, root: TreeNode) -> List[int]:
  9. if root == None:
  10. return []
  11. return Solution().postorderTraversal(root.left)+Solution().postorderTraversal(root.right)+[root.val]