前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode-94. 二叉树的中序遍历

leetcode-94. 二叉树的中序遍历

作者头像
灰太狼学Java
发布2022-06-17 11:07:41
1650
发布2022-06-17 11:07:41
举报
文章被收录于专栏:Java学习驿站Java学习驿站

JAVA解法

代码语言:javascript
复制
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        // 定义结果集
        List<Integer> res = new ArrayList<Integer>();
        // 开始递归遍历
        inorder(root, res);
        // 返回结果集
        return res;
    }

    /**
        递归体
     */
    public void inorder(TreeNode root, List<Integer> res) {
        // 对应的根节点为空则直接返回
        if (root == null) {
            return;
        }
        // 遍历左子树
        inorder(root.left, res);
        // 把对应根节点的值加入结果集
        res.add(root.val);
        // 遍历右子树
        inorder(root.right, res);
    }
}

题解分析

这道题是二叉树的中序遍历1,就是以先遍历左子树并将对应的根节点分别加入结果集,再以相同的方式遍历右子树并把对应根节点加入结果集,使用递归思路简单清晰。

定义

  1. 二叉树的中序遍历   中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。若二叉树为空则结束返回。(百度百科 - 中序遍历

leetcode原题:94. 二叉树的中序遍历

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JAVA解法
  • 题解分析
    • 定义
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档