树遍历是对树中的每个节点只访问一次的过程。我们一提到树这一数据结构,很多人首先想到的就是树的遍历。这是因为,不管是在老师讲述树这一数据结构时,还是在面试时,亦或是在实际应用中,二叉树的遍历都是反复会出现的。
我们常说二叉树这种数据结构是优雅的,抛开实用方面不谈,多种多样二叉树的遍历方法完美的展现了这一点。不同的遍历方法把树的节点展开成列表的方式,而每种遍历方法都能从树中更加直观的提取出来一些信息。通过学习不同的树的遍历方法,我们能对二叉树有一个更加深入的理解。
1. 前序遍历
前序遍历是指先访问根,然后访问子树的遍历方式。如果二叉树为空,则遍历结果为空,否则先访问根节点,然后前序遍历左子树,然后前序遍历右子树。如下图所示:
public void Preorder(TreeNode root, List < Integer > res) {
if (root != null) {
res.add(root.val);
Preorder(root.left, res);
Preorder(root.right, res);
}
}
上述用递归方法来解决前序遍