当前位置: 首页 > article >正文

蓝桥与力扣刷题(94 二叉树的中序遍历)

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

示例 1:

输入:root = [1,null,2,3]
输出:[1,3,2]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [1]
输出:[1]

解题思路+代码:

代码:

/**
 * 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 {
    List<Integer> result = new ArrayList<>(); //new一个全局数组变量
    public List<Integer> inorderTraversal(TreeNode root) {
        /**
        思路:二叉树的中序遍历顺序(左根右)--(深度优先遍历DFS)
        创建DFS方法
        1.首先判断根节点是否为空,为空直接返回
        2.根据二叉树中序遍历顺序(左根右)依次遍历并添加数据
         */
       dfs(root); //调用
       return result;
    }

    public void dfs(TreeNode node){
        //判断根节点是否为空,为空直接返回
        if(node == null){
            return ;
        }
        dfs(node.left); //遍历左子树
        result.add(node.val); //访问根节点
        dfs(node.right); //遍历右子树
    }
}

总结:这题首先需要知道二叉树的遍历顺序(先序:根左右;中序:左根右;后序:左右根)(深度优先搜索DFS),本题明确了是二叉树的中序遍历。解答该题有多种方法,但是使用递归方法是解答中最高效的。递归利用了函数调用栈的特性,很自然地模拟了深度优先搜索(DFS)的过程。


http://www.kler.cn/a/539231.html

相关文章:

  • 一文学会:用DeepSeek R1/V3 + AnythingLLM + Ollama 打造本地化部署的个人/企业知识库,无须担心数据上传云端的泄露问题
  • 在请求时打印出实际代理的目标地址
  • 前端 CSS 动态设置样式::class、:style 等技巧详解
  • Spatial Branching for Conic Non-Convexities in Optimal Electricity-Gas Flow
  • DeepSeek介绍,以及本地部署和API使用
  • 问题大集04-浏览器阻止从 本地 发起的跨域请求,因为服务器的响应头 Access-Control-Allow-Origin 设置为通配符 *
  • 【CubeMX-HAL库】STM32F407—无刷电机开环驱动
  • 从算法到落地:DeepSeek如何突破AI工具的同质化竞争困局
  • 【Rust中级教程】1.1. 指针概览(上):什么是指针、指针和引用的区别
  • [高等数学]不定积分的概念与性质
  • python笔记2--组合数据类型
  • 操作系统—进程与线程
  • DeepSeek多软件协同效应,产生的王炸组合
  • 智慧交通:如何通过数据可视化提升城市交通效率
  • Nexus 实战详解:企业级制品仓库管理
  • 从Open R1来看如何训练DeepSeek R1模型
  • FFmpeg获取RTSP视频流时,视频帧的格式
  • Stability AI 联合 UIUC 提出单视图 3D 重建方法SPAR3D,可0.7秒完成重建并支持交互式用户编辑。
  • VirtualBox中Ubuntu 22.04网卡配置以及解决过程中遇到的问题
  • 算法与数据结构(爬楼梯)
  • #渗透测试#批量漏洞挖掘#某骋BPM Handler SQL注入漏洞
  • JavaScript系列(61)--边缘计算应用开发详解
  • 三星手机为何不大力扩展中国市场?
  • json格式化 网站--可以将json 数据放入,提取出来有用的信息
  • 网络防御高级02-综合实验
  • 代码随想录(二叉树所有题解)