二叉树前中后序遍历

简介: 这段内容是关于二叉树的前序、中序和后序遍历的Python实现。`Solution`类包含三个方法:`preorderTraversal`、`inorderTraversal`和`postorderTraversal`,分别返回二叉树节点值的前序、中序和后序遍历列表。每个方法都是递归的,遍历顺序为:前序(根-左-右)、中序(左-根-右)、后序(左-右-根)。

前序

给你二叉树的根节点 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: Optional[TreeNode]) -> List[int]:

       if not root:

           return []

       left=self.preorderTraversal(root.left)

       right=self.preorderTraversal(root.right)

       return [root.val]+left+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: Optional[TreeNode]) -> List[int]:

       if  root is None:

           return []

       left = self.inorderTraversal(root.left)

       right=self.inorderTraversal(root.right)

       return left+[root.val]+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: Optional[TreeNode]) -> List[int]:

       if  root is None:

           return []

       left = self.postorderTraversal(root.left)

       right=self.postorderTraversal(root.right)

       return left+right+[root.val]

相关文章
|
6月前
|
存储
详解二叉树的各种非递归遍历
详解二叉树的各种非递归遍历
|
6月前
|
存储 算法 前端开发
589. N 叉树的前序遍历
589. N 叉树的前序遍历
31 0
|
6月前
|
C++
二叉树的后序遍历(C++)
二叉树的后序遍历(C++)
42 0
|
6月前
|
Linux
求二叉树的先序遍历
求二叉树的先序遍历
|
6月前
二叉树的前、中、后序遍历的实现
二叉树的前、中、后序遍历的实现
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(上)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(上)
|
存储 搜索推荐
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(下)
【二叉树OJ题(二)】前序遍历&&中序遍历&&后序遍历&&另一颗树的子树&&二叉树遍历&&平衡二叉树(下)
|
JavaScript 前端开发 Java
二叉树的先序、中序、后序遍历
二叉树的先序、中序、后序遍历
156 0
二叉树的先序、中序、后序遍历