二叉树的遍历

二叉树的遍历

Posted by LY on March 25, 2019

欢迎大家关注我的以下主页,尤其是今日头条!!!谢谢🙏🙏🙏

csdn:雷园的csdn博客

个人博客:雷园的个人博客

简书:雷园的简书

今日头条:来自底层程序员的仰望

前言

  1. 今天我们并不详细的去讲解一到算法题目,今天我们来说说二叉树的四种遍历方式。(前、中、后、层)
  2. 看到关注我的同学们大多都年纪不大,应该大多都是在上学的小伙伴。
  3. 其实吧!!!我的年纪也不大,希望我们可以有共同语言,大家在学习上有什么不懂得、学不会的、感觉学起来很吃力的同学可以来找我,我们可以一起探讨学习的方式!!!
  4. 共同努力,共同进步嘛。

题目一:二叉树的前序遍历

给定一个二叉树,返回它的 前序 遍历。

示例:

输入: [1,null,2,3]  
   1
    \
     2
    /
   3 

输出: [1,2,3]

解题思路

  1. 前序遍历:根结点 —> 左子树 —> 右子树

  2. 代码实现(递归方式):

    public void preOrderTraverse(TreeNode root) {
      // 判断当前节点是否为空
      if (root != null) {
        // 打印当前节点
        System.out.print(root.val+"  ");
        // 遍历左子树
        preOrderTraverse(root.left);
        // 遍历右子树
        preOrderTraverse(root.right);
      }
    }
    
  3. 是不是非常简单的,其实思路很简单。也就是先打印当前节点,并访问左节点(左子树)直到左节点为null,再去访问右节点(右子树)。

题目二:二叉树的中序遍历