二叉树遍历方法合集:
最近在LeetCode力扣上刷数据结构的二叉树合集,遇到的二叉树遍历方法,于是想理解透彻。本文讲解了二叉树遍历的四种方法,前、中。后序遍历。
对应题目:
94.二叉树的中序遍历
144.二叉树的前序遍历
145.二叉树的后序遍历
102.二叉树的层序遍历
只要参考任意一种解法的代码,将其中的输出代码替换成添加数组元素即可。
我的本意是想让大家能深入的理解二叉树遍历的过程,之后完成这三道题和其它二叉树遍历的题目能够感觉轻松一点。
递归解法
递归解法是比较常用而且容易理解的方法,只要理解了思路就能够很好的去使用他。
**比如前序遍历:**前序遍历的递归方法就是:根、左、右,先打印根节点,只有再去寻找他的左子树,左子树找到末尾的时候返回再找又指数,直到完成。
下面放代码:
前序遍历
public static void PreOrderRecur(TreeNode root){
if(root == null) return;
System.out.println(root.data);
PreorderRecur(root.left);
PreorderRecur(root.right);
}
中序遍历
public static void InOrderRecur(TreeNode root){
if(root == null) return;
InorderRecur(root.left);
System.out.println(root.data);
InorderRecur(root.right);
}
后序遍历