深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法。在二叉树的上下文中,DFS可以用于遍历树的所有节点。在本文中,我们将介绍如何使用深度优先搜索算法来遍历二叉树,并提供相应的代码实现。
在深度优先搜索算法中,我们首先访问根节点,然后递归地访问根节点的左子树和右子树。这样可以确保我们按照深度优先的顺序遍历树的节点。DFS算法有两种常见的实现方式:前序遍历、中序遍历和后序遍历。下面我们将分别介绍这三种遍历方式的实现。
前序遍历(Preorder Traversal):
前序遍历的顺序是先访问根节点,然后递归地遍历左子树和右子树。下面是前序遍历的代码实现:
class TreeNode:
def __init__(self, val=