JAVA练习315- 从前序与中序遍历序列构造二叉树
题目概览给定两个整数数组preorder和inorder其中preorder是二叉树的先序遍历inorder是同一棵树的中序遍历请构造二叉树并返回其根节点。示例 1:输入:preorder [3,9,20,15,7], inorder [9,3,15,20,7]输出:[3,9,20,null,null,15,7]示例 2:输入:preorder [-1], inorder [-1]输出:[-1]提示:1 preorder.length 3000inorder.length preorder.length-3000 preorder[i], inorder[i] 3000preorder和inorder均无重复元素inorder均出现在preorderpreorder保证为二叉树的前序遍历序列inorder保证为二叉树的中序遍历序列来源105. 从前序与中序遍历序列构造二叉树 - 力扣LeetCode解题分析方法模拟前序是根 - 左 - 右中序是 左 - 根 - 右。我们可以根据前序数组第一个元素拿到根节点然后再到中序数组中进行拆分我们定义前序数组的范围为 [ pi, pj ]中序数组的范围为 [ ii, ij ]中序数组中根节点的索引为 root那么可以得到每个子数组的范围中序子数组 - 左 [ ii, root - 1 ]中序子数组 - 右 [ root 1, ij ]前序子数组 - 左 [ pi 1, pi root - ii ]前序子数组 - 右 [ pi 1 root - ii, pj ]将这个范围作为参数继续往下传然后重复拿根节点拆分的操作即可直到数组为空或只有一个元素停止。时间复杂度O(n)空间复杂度O(n)/** * 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 TreeNode buildTree(int[] preorder, int[] inorder) { int n preorder.length; if (n 0) { return null; } return buildTree(preorder, inorder, 0, n - 1, 0, n - 1); } public TreeNode buildTree(int[] preorder, int[] inorder, int pi, int pj, int ii, int ij) { if (pi pj || ii ij) { return null; } TreeNode node new TreeNode(preorder[pi]); if (pi pj || ii ij) { return node; } int root preorder[pi]; int rootIndex ii; for (int i ii; i ij; i) { if (root inorder[i]) { rootIndex i; } } node.left buildTree(preorder, inorder, pi 1, pi rootIndex - ii, ii, rootIndex - 1); node.right buildTree(preorder, inorder, pi rootIndex - ii 1, pj, rootIndex 1, ij); return node; } }

相关新闻

JAVA练习313- 二叉树的右视图

JAVA练习313- 二叉树的右视图

题目概览 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入:root [1,2,3,null,5,null,4] 输出:[1,3,4] 解释: 示例…

2026/7/25 21:06:36 阅读更多 →
Python agent2agent-server 包完全指南:安装、语法、案例与常见错误

Python agent2agent-server 包完全指南:安装、语法、案例与常见错误

1. 引言随着 AI Agent 技术的快速发展,多智能体协作已成为构建复杂自动化系统的关键方向。agent2agent-server 是一个轻量级 Python 包,旨在简化不同 AI Agent 之间的通信与协作。本文将详细介绍该包的安装、核心语法、参数配置,并通过 8 个实…

2026/7/26 4:17:50 阅读更多 →
恶意软件分析师必备:5个Unipacker高级技巧解密加壳样本

恶意软件分析师必备:5个Unipacker高级技巧解密加壳样本

恶意软件分析师必备:5个Unipacker高级技巧解密加壳样本 【免费下载链接】unipacker Automatic and platform-independent unpacker for Windows binaries based on emulation 项目地址: https://gitcode.com/gh_mirrors/un/unipacker 你是否曾经面对一个加壳…

2026/7/26 1:53:36 阅读更多 →

最新新闻

DSP/BIOS线程调度与RTDX实时数据交换:嵌入式实时系统核心机制解析

DSP/BIOS线程调度与RTDX实时数据交换:嵌入式实时系统核心机制解析

1. 项目概述与核心价值在嵌入式实时系统开发,尤其是基于德州仪器(TI)DSP芯片的应用中,如何高效、可靠地管理多个并发任务,并实现系统与外部世界的实时数据交互,是决定项目成败的关键。这背后依赖两大核心技…

2026/7/26 22:51:55 阅读更多 →
Blender导入Godot后材质丢失怎么办?GLB、贴图路径与导出设置逐项排查

Blender导入Godot后材质丢失怎么办?GLB、贴图路径与导出设置逐项排查

Blender导入Godot后材质丢失怎么办?GLB、贴图路径与导出设置逐项排查 OK,OK,大家好,欢迎大家来到大鹏 AI 教育,我是张大鹏。 Blender 里的模型明明有材质,导入 Godot 后却只剩默认外观,很多人…

2026/7/26 22:51:55 阅读更多 →
deepseek 能生成 word 吗?借助 AI 导出鸭轻松实现文档高效导出

deepseek 能生成 word 吗?借助 AI 导出鸭轻松实现文档高效导出

引言 当下AI对话工具成为办公、学习、创作的常用助手,不少用户都会疑惑deepseek能生成word吗。单纯依靠平台原生功能完成文档导出,常会遇到格式错乱、排版丢失、操作繁琐等问题,而AI 导出鸭的出现,为广大用户打通了AI内容转标准Wo…

2026/7/26 22:51:55 阅读更多 →
YOLOv8改进模型在污水管道缺陷检测中的实践

YOLOv8改进模型在污水管道缺陷检测中的实践

1. 项目背景与核心价值在市政基础设施维护领域,污水管道的定期检测一直是项耗时费力的工作。传统的人工巡检方式不仅效率低下,还存在安全隐患。我们团队最近尝试将YOLOv8-ContextGuidedDown模型应用于这个领域,取得了突破性进展——检测速度比…

2026/7/26 22:51:55 阅读更多 →
手把手实现Transformer:从原理到PyTorch实战

手把手实现Transformer:从原理到PyTorch实战

1. 项目概述作为一名从传统软件开发转型AI的工程师,我深刻理解学习Transformer架构时的困惑。这个看似复杂的模型,其实核心思想非常优雅。今天我将用最接地气的方式,带大家手撕Transformer代码,同时保证每个模块都能独立运行测试。…

2026/7/26 22:51:55 阅读更多 →
5分钟找回QQ空间全部青春记忆:GetQzonehistory终极指南

5分钟找回QQ空间全部青春记忆:GetQzonehistory终极指南

5分钟找回QQ空间全部青春记忆:GetQzonehistory终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你的QQ空间里还保存着多少青春回忆?那些深夜的感悟、节日…

2026/7/26 22:50:55 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻