JAVA练习315- 从前序与中序遍历序列构造二叉树
📅 2026/7/19 15:15:06
👁️ 次浏览
题目概览给定两个整数数组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; } }
题目概览
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1:
输入:root [1,2,3,null,5,null,4]
输出:[1,3,4]
解释: 示例…
📅 2026/7/19 15:15:06
1. 引言随着 AI Agent 技术的快速发展,多智能体协作已成为构建复杂自动化系统的关键方向。agent2agent-server 是一个轻量级 Python 包,旨在简化不同 AI Agent 之间的通信与协作。本文将详细介绍该包的安装、核心语法、参数配置,并通过 8 个实…
📅 2026/7/19 15:15:06
恶意软件分析师必备:5个Unipacker高级技巧解密加壳样本 【免费下载链接】unipacker Automatic and platform-independent unpacker for Windows binaries based on emulation 项目地址: https://gitcode.com/gh_mirrors/un/unipacker
你是否曾经面对一个加壳…
📅 2026/7/19 15:15:06
标题:geo cepii 避坑指南:新手如何低成本搭建高效数据抓取系统本文关键词:geo cepii最近好多朋友问我,做跨境电商或者本地生活SEO,到底怎么搞到那些精准的地理位置数据。说实话,这行水挺深的。很多人一上来就找那种号称“全网最全”的付费库,结果买回来一堆垃圾数据,连个…
📅 2026/7/19 23:31:08
这次2026年实时语音转写软件对比评测,针对知识付费用户在付费课程、播客内容消化、知识巩固、学习效果验证场景的核心需求,实测了迅捷录音转文字、腾讯云语音转文字、听脑、觅讯4款主流工具,核心对比转写准确率、学习闭环能力、易用性三个核心…
📅 2026/7/19 23:30:32
这次对比下来,腾讯会议AI会议纪要适配原生在线会议场景,听脑在会后纪要深度整理、外部会议内容消化上表现更突出。适合日常开内部会议、需要快速出基础纪要的团队用腾讯会议;适合需要整理外部峰会录音、追溯决策细节、提取待办的企业管理者用…
📅 2026/7/19 23:30:32
手动录入图片文字效率低的问题可以通过2026图片文字识别解决,它能快速完成图片文字的提取整理。适合需要批量处理图片素材的内容创作者,我亲测10张清晰图片的文字提取,全程仅需3分钟左右,远快于手动录入。不适合处理完全模糊、文字…
📅 2026/7/19 23:30:32
static_status安全最佳实践:保护你的监控配置和数据 【免费下载链接】static_status 🚦Bash script to generate a static status page. 项目地址: https://gitcode.com/gh_mirrors/st/static_status
在当今数字化时代,系统监控已成为…
📅 2026/7/19 23:30:32
mlx-community/gemma-4-e2b-it-mxfp8 vs 原版Gemma-4:mxfp8量化技术如何让Apple芯片性能飙升? 【免费下载链接】gemma-4-e2b-it-mxfp8 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/gemma-4-e2b-it-mxfp8
在人工智能快速发展的今…
📅 2026/7/19 23:30:32
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/19 0:00:51
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/19 0:00:51
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/19 0:00:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/19 7:02:11
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/19 17:02:37
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/19 5:02:03