LeetCode 94. 二叉树的中序遍历 Binary Tree Inorder Traversal

龙芯3A5000开发板PMON升级UEFI固件实战指南 固件是计算机硬件与操作系统之间的关键桥梁,负责初始化硬件并引导系统启动。其工作原理是在上电后执行自检、加载引导程序,最终将控制权移交操作系统。在国产化平台中,采用标准化的UEFI固件具有重要技术价值,它能提供图形化配置界面、统一硬件驱动模型,并支持安全启动等现代特性,从而显著提升硬件兼容性与系统管理效率。这一技术广泛应用于PC、服务器及嵌入式设备,尤其在需要运行银河麒麟等主流操作系统的龙芯开发板场景中,将传统PMON固件升级至UEFI,能实现更流畅的系统安装与更稳定的运行体验。本文基于固件升级与UEFI引导 阅读详情

题目: LeetCode 94. 二叉树的中序遍历

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

示例:

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

2
/
3

输出: [1,3,2]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?

递归算法

import java.util.ArrayList;
import java.util.List;

/// 94. Binary Tree Inorder Traversal
/// https://leetcode.com/problems/binary-tree-inorder-traversal/solution/
/// 二叉树的中序遍历
/// 时间复杂度: O(n), n为树的节点个数
/// 空间复杂度: O(h), h为树的高度
public class Solution094 {

    // Definition for a binary tree node.
    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) { val = x; }
    }

    public List<Integer> inorderTraversal(TreeNode root) {

        ArrayList<Integer> res = new ArrayList<Integer>();
        inorderTraversal(root, res);
        return res;
    }

    private void inorderTraversal(TreeNode node, List<Integer> list){
        if(node != null){
            inorderTraversal(node.left, list);
            list.add(node.val);
            inorderTraversal(node.right, list);
        }
    }
}

非递归算法

// Definition for a binary tree node.
public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode(int x) { val = x; }
}
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

// Classic Non-Recursive algorithm for inorder traversal
// Time Complexity: O(n), n is the node number in the tree
// Space Complexity: O(h), h is the height of the tree
public class Solution1 {

    public List<Integer> inorderTraversal(TreeNode root) {

        ArrayList<Integer> res = new ArrayList<Integer>();
        if(root == null)
            return res;

        Stack<TreeNode> stack = new Stack<>();
        TreeNode cur = root;
        while(cur != null || !stack.empty()){

            while(cur != null){
                stack.push(cur);
                cur = cur.left;
            }

            cur = stack.pop();
            res.add(cur.val);
            cur = cur.right;
        }
        return res;
    }
}
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

// Another Classic Non-Recursive algorithm for inorder traversal
// Time Complexity: O(n), n is the node number in the tree
// Space Complexity: O(h), h is the height of the tree
public class Solution2 {

    public List<Integer> inorderTraversal(TreeNode root) {

        ArrayList<Integer> res = new ArrayList<Integer>();
        if(root == null)
            return res;

        Stack<TreeNode> stack = new Stack<>();
        TreeNode cur = root;
        while(cur != null || !stack.empty()){

            if(cur != null){
                stack.push(cur);
                cur = cur.left;
            }
            else{
                cur = stack.pop();
                res.add(cur.val);
                cur = cur.right;
            }
        }
        return res;
    }
}
从入门到精通:dirmap 高级 Web 目录扫描实战指南 本文提供了一份从环境搭建到高级配置的dirmap Web目录扫描实战指南。详细解析了工具安装、核心配置文件dirmap.conf的深度调优,包括递归扫描、四种扫描模式(字典、爆破、爬虫、Fuzz)的实战应用,并演示了分阶段资产发现的完整工作流程,帮助安全人员高效发现隐藏目录与敏感文件。 阅读详情

相关推荐

nRF52840 低功耗蓝牙开发指南:从硬件架构到物联网应用实战

本文深入解析nRF52840低功耗蓝牙芯片的硬件架构与开发实践,涵盖从开发环境搭建到BLE协议栈开发的详细指南。通过实战案例分享低功耗优化技巧,帮助开发者高效实现物联网应用,特别适合智能家居和工业场景。

d3e4f的博客 419

如何在二叉搜索树中实现有序遍历?

disclosure: This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article. The InOrder traversal is on...

专业的开发者“讨论” 938

从XSA到Linux应用:Petalinux与Vitis的嵌入式开发全流程解析

本文详细解析了从XSA文件到Linux应用的嵌入式开发全流程,重点介绍了Petalinux与Vitis工具链的使用技巧和实战经验。通过XSA硬件描述、Petalinux工程搭建、系统镜像优化及Vitis开发配置等关键步骤,帮助开发者高效完成ZYNQ平台开发,解决常见问题并提升开发效率。

weixin_29195217的博客 192

94. 二叉树的中序遍历(java实现)--LeetCode

解法1:递归 public List<Integer> inorderTraversal(TreeNode root) { ArrayList<Integer> result = new ArrayList<>(); recursive(root,result); return result; } private void recursive(TreeNode root, ArrayList<

一碗机智的糖浆的博客 541

端侧部署与优化:让 AI 真正走进现实生活的关键技术

AI 的开发流程分为 “训练” 与 “推理” 两大阶段。在训练阶段,科研人员依托云端海量数据和高性能 GPU 算力,构建出精度优异的 AI 模型 —— 比如能识别 1000 种物体的图像分类模型、能理解人类语言的自然语言处理模型。但这些在云端 “战绩斐然” 的模型,若直接应用到现实场景中,却会面临三大 “落地困境”。从云端到端侧,从模型压缩到硬件适配,端侧部署与优化技术解决了 AI 落地的核心难题,让 AI 不再是实验室里的 “高精尖技术”,而是融入日常生活的 “实用工具”。

m0_63477749的博客 1053

再生龙(clonezilla)镜像比目标盘大——基于centos8.5

再生龙恢复到小盘遇到的问题及处理,首先是修改分区大小,进入dracut模式后再尝试恢复临时系统。

u010101453的博客 3690

94. 二叉树的中序遍历(java)

题目描述 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 首先是递归方法。 访问顺序:先左子树,再根节点,最后右子树; 原理:要先观察最后一个,从后往前进行分析。 随后进入D的右节点,运行inorder(res,root.right);D的右节点为空,函数返回。 到这里当然没结束,会依次返回到B点E点,回到A点。 此时,A的左侧节点已经加入完了,接下来是A的右侧节点。 代码如下 class Solution { public List<Integer> inorderT

大河的博客 2388

AI图像识别在临电配电箱安全检测中的应用与实践

计算机视觉与AI图像识别技术正逐步改变传统工业检测方式。通过深度学习模型如YOLOv5和ResNet,系统能自动识别设备元件并分析其状态,大幅提升检测效率和准确性。这种技术特别适用于需要严格遵循行业标准的场景,如临电配电箱的安全检测。将《施工现场临时用电安全技术规范》等条文转化为可量化的算法,AI系统能自动检查PE线连接、漏保功能等关键项目。实际应用表明,此类解决方案可使电气事故率下降90%以上,同时检测耗时缩短80%,为工地安全提供了智能化保障。

weixin_29042035的博客 330

LeetCode-94. 二叉树的中序遍历(java)

金三银四,又到了刷题月。有时间的话,希望大家还是尽量刷起来咯。帮助往往不是直接体现出来的,但会让你对很多东西的底层实现了解的更深刻。

**My Coding Family** 1036

商店销售预测(回归&随机森林)

通过准备线性回归的数据,我们发现了一些有趣的见解,包括周末的销售增长,公共部门支付工资时的销售增长,以及11月和12月的销售增长。如果我们选择包括这些,我们可能会得到更好的结果,但在这个时候,我们不会用它来做任何预测,而是将转向另一种可能给我们更好的结果的技术。在Kaggle竞赛中,要求我们应用时间序列预测,根据厄瓜多尔大型杂货零售商Corporación Favorita的数据预测商店销售情况,建立一个模型,准确地预测在不同商店销售的商品的单位销量。在快速查看我们的训练数据集之后,我们可以看到有很多零。

qq_45791012的博客 4751

第六部分:VTK进阶(第182章 体素化与隐式建模)

本文系统介绍了基于点云构建有符号距离场(SDF)的核心原理与VTK实现方法。主要内容包括:1)SDF的基本概念与算法原理,通过体素网格隐式表达几何表面;2)关键参数配置指南,如体素分辨率、边界范围和影响半径的选择;3)点云法向估计、SDF计算与等值面提取的完整工作流程;4)常见问题解决方案与性能优化建议。文中提供了详细的C++代码示例,展示从随机点云生成SDF并重建曲面的完整过程,特别强调了法向估计、参数调优和后处理等关键环节。该方法适用于点云表面重建、几何处理等应用场景。

仰望星空的博客 528

tree traversal (树的遍历) - inorder traversal (中序遍历)

tree traversal (树的遍历) - inorder traversal (中序遍历) 1. tree traversal - 树的遍历 二叉树的遍历 (traversing binary tree) 是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次。遍历是将二叉树中的结点信息由非线性排列变为某种意义上的线性排列,遍历操作使非线性结构线性化。 ...

程永强 3778

使用自制的NTC测量模块测试Plecs的热仿真效果

可以测试:您完全可以用这个模型来测试热仿真。NTC 模型是连接电气域和热域的关键桥梁。实现闭环:通过这种方式,您创建了一个高度真实的正反馈闭环系统:负载增加 -> 损耗增加 -> 温度升高 -> NTC 阻值变化 -> 控制电路可能因此调整(如降低频率或电流)-> 损耗变化 -> 温度变化。应用场景:这对于设计过温保护 (OTP) 电路风扇控制系统以及分析热失控条件非常有用。单位:确保热域中使用的单位( Kelvin 或 Celsius )与您的 C-Script 模型输入期望的单位一致。

311

leetcode 94.二叉树的中序遍历(binary tree inorder traversal)C语言

leetcode 94.二叉树的中序遍历(binary tree inorder traversal)C语言1.description2.solution2.1 递归2.2 迭代 1.description https://leetcode-cn.com/problems/binary-tree-inorder-traversal/ 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2.solutio

hsk6543210的博客 446

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【小白爬Leetcode94】二叉树的中序遍历 Binary Tree Inorder Traversal

【小白爬Leetcode94】二叉树的中序遍历 Binary Tree Inorder Traversal题目方法一 递归方法二 循环 题目 Leetcode94 medium\color{#ffaa00}{medium}medium 点击进入原题链接:二叉树的中序遍历 Binary Tree Inorder Given a binary tree, return the inorder traversal of its nodes’ values. 方法一 递归 最朴素的递归,如果可以用递归这道

weixin_41604040的博客 198

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LeetCode 94 Binary Tree Inorder Traversal(二叉树中序遍历)

Given a binary tree, return the inorder traversal of its nodes' values. For example: Given binary tree [1,null,2,3], 1 \ 2 / 3 return [1,3,2]. Note: Recursive solution is

nudt_oys的博客 949

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LeetCode 94:二叉树的中序遍历 Binary Tree Inorder Traversal

题目: 给定一个二叉树,返回它的中序 遍历。 Given a binary tree, return the inorder traversal of its nodes’ values. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? Follow up: Recu...

爱写Bug 307

[LeetCode] 94. Binary Tree Inorder Traversal 二叉树的中序遍历

给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解法: 二叉树的中序遍历顺序为左-根-右,可以有递归和非递归来解,非递归解法又分为两种,一种是使用栈来接,另一种不需要使用栈的Morris方法。 Morris方...

Fabio的博客 477

LeetCode 94. Binary Tree Inorder Traversal(二叉树的中序遍历)

原题网址:https://leetcode.com/problems/binary-tree-inorder-traversal/ Given a binary tree, return the inorder traversal of its nodes' values. For example: Given binary tree {1,#,2,3}, 1

James Pan 1099

【LeetCode】94. Binary Tree Inorder Traversal-二叉树中序遍历

一、描述: 二、思路: 二叉树中序遍历:1访问左子树;2访问根结点;3访问右子树;如: 中序遍历后得结点序列中,根结点一直处于其左右子树的中间位置,如12、23、13; 递归实现,结点为空时,递归结束。 三、代码: 1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * i

SteveWalker 336

Leetcode 94. 二叉树的中序遍历 Binary Tree Inorder Traversal (Java)

Leetcode 94. 二叉树的中序遍历Binary Tree Inorder Traversal(Medium) ##Hash Table##, ##Stack##, ##Tree## 题解 二叉树的中序遍历 递归 按照左子树=>根节点=>右子树的顺序遍历 时间复杂度:O(n) 每个结点访问一次 空间复杂度为层数 class Solution { public List<Integer> inorderTraversal(TreeNode root) {

qq_42411921的博客 230

LeetCode 94. Binary Tree Inorder Traversal 二叉树的中序遍历

题目

zhangzhetaojj的博客 249

leetcode-94. Binary Tree Inorder Traversal 二叉树的中序遍历

Given a binary tree, return the inorder traversal of its nodes' values. Example: Input: [1,null,2,3] 1 \ 2 / 3 Output: [1,3,2] Follow up: Recursive solution is tri...

别说话写代码的博客 393

leetcode94 Binary Tree Inorder Traversal 非递归二叉树中序遍历

中序遍历的定义是:首先中序遍历左子树,接着遍历根节点,最后中序遍历右子树 根据这个思路我们就可以试着写出非递归版本的程序。所用的数据结构自然就是栈,首先将根节点入栈,当把左子树中序遍历完了以后,把根节点出栈,再中序遍历右子树。 我们定义节点出栈的过程就是遍历该节点,初始状态我们先让根节点入栈。 由于我们首先遍历的是左子树,所以我们首先不停地进行栈顶元素左孩子入栈操作,直到栈顶元素没有左...

LOVETEDA的博客 230

LeetCode-94二叉树的中序遍历(Binary Tree Inorder Traversal)

LeetCode-145 Given a binary tree, return the inorder traversal of its nodes’ values. Example Input: [1,null,2,3]   1     \      2  &nbs...

V2beach的博客 231

LeetCode 94. Binary Tree Inorder Traversal 二叉树的中序遍历 C++

LeetCode 94. Binary Tree Inorder Traversal 二叉树的中序遍历 C++ Given a binary tree, return theinordertraversal of its nodes' values. Exam...

weixin_30344995的博客 128
上一篇: LeetCode 145. 二叉树的后序遍历 Binary Tree Postorder Traversal
下一篇: LeetCode 144. 二叉树的前序遍历 Binary Tree Preorder Traversal
KAIKAI_ING
博客等级 码龄12年 6粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值