首页 > 其他 > 详细

LeetCode94. 二叉树的中序遍历

时间:2021-06-19 09:16:05      阅读:23      评论:0      收藏:0      [点我收藏+]

LeetCode94. 二叉树的中序遍历

题目描述

/**
     * 
     * 给定一个二叉树的根节点 root ,返回它的 中序 遍历。
     * 
     */

思路分析

  1. 二叉树的遍历方式有三种,即前序中序和后序,三者的不同在于根节点的遍历顺序
  2. 如果先遍历根节点,再遍历左子树然后遍历右子树则为前序遍历
  3. 如果先遍历左子树,再遍历根节点,最后遍历右子树,则为中序遍历
  4. 如果先遍历左子树,再遍历右子树,最后再遍历根节点,则为后序遍历
  5. 较为简单,源码见下

源码及分析

//创建集合保存中序遍历的结果
    List<Integer> list = new ArrayList<>();
    /**
     * @param root 根节点
     * @return 返回遍历的结果
     */
    public List<Integer> inorderTraversal(TreeNode root) {
        //判断过根节点是否为空
        if (root == null) {
            return list;
        }
        //判断左子树是否为空,如果不为空,则递归遍历左子树
        if (root.left != null) {
            inorderTraversal(root.left);
        }
        //将当前节点加入集合
        list.add(root.val);
        //再判断当前节点的右子树是否为空,如果不为空,则递归遍历右子树
        if (root.right != null) {
            inorderTraversal(root.right);
        }
        return list;
    }

LeetCode94. 二叉树的中序遍历

原文:https://www.cnblogs.com/mx-info/p/14901968.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!