news 2026/4/18 7:02:16

【前序+中序】重建二叉树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【前序+中序】重建二叉树


求解代码

publicTreeNodereConstructBinaryTree(int[]preOrder,int[]vinOrder){intpre_len=preOrder.length;intvin_len=vinOrder.length;if(pre_len==0||vin_len==0){returnnull;}TreeNoderoot=newTreeNode(preOrder[0]);for(inti=0;i<vinOrder.length;i++){if(preOrder[0]==vinOrder[i]){// 左子树:前序从[1, i+1) 中序从[0, i)root.left=reConstructBinaryTree(Arrays.copyOfRange(preOrder,1,i+1),Arrays.copyOfRange(vinOrder,0,i));// 右子树:前序从[i+1, pre_len) 中序从[i+1, vin_len)root.right=reConstructBinaryTree(Arrays.copyOfRange(preOrder,i+1,preOrder.length),Arrays.copyOfRange(vinOrder,i+1,vinOrder.length));break;}}returnroot;}

小贴士

Arrays.copyOfRange(原数组, from, to)→ 复制数组的[from, to)区间,返回新数组;

中序遍历分割数组比较好理解:

中序遍历过程中左子树是从[0,i),右子树是从[i+1,vin_len)

前序遍历分割数组可能会有点绕,这里解释一下:

中序遍历到位置i时,可以得知左子树所在的区间是[0,i-1],长度就是i

那么回到前序遍历中来,因为同一棵树它的左子树的长度在前序遍历和中序遍历的过程中是相同的,也就是长度是i,那么又因为前序遍历的0位置是根节点,则前序遍历的左子树所在的区间就是[1,i]

由于Arrays.copyOfRange方法是左闭右开区间,所以前序遍历过程中,左子树是从[1,i+1),右子树就是从[i+1,pre_len)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/29 18:04:25

终极参考文献提取神器:Ref-Extractor完整使用指南

终极参考文献提取神器&#xff1a;Ref-Extractor完整使用指南 【免费下载链接】ref-extractor Reference Extractor - Extract Zotero/Mendeley references from Microsoft Word files 项目地址: https://gitcode.com/gh_mirrors/re/ref-extractor 在学术研究和论文写作…

作者头像 李华
网站建设 2026/4/16 22:39:57

从扫描件到结构化数据|PaddleOCR-VL-WEB助力高精度文档智能解析

从扫描件到结构化数据&#xff5c;PaddleOCR-VL-WEB助力高精度文档智能解析 在金融、法律、医疗等专业领域&#xff0c;大量历史档案和业务文件仍以扫描件或非结构化PDF形式存在。这些文档往往包含复杂的版式、多语言混排、手写内容以及嵌套表格与公式&#xff0c;传统OCR工具…

作者头像 李华
网站建设 2026/4/15 11:58:25

AI印象派艺术工坊文化传承案例:老照片艺术修复处理流程

AI印象派艺术工坊文化传承案例&#xff1a;老照片艺术修复处理流程 1. 引言 1.1 技术背景与文化价值 随着数字技术的发展&#xff0c;文化遗产的数字化保护逐渐成为重要课题。老照片作为家庭记忆与社会历史的重要载体&#xff0c;往往因年代久远出现褪色、划痕、模糊等问题。…

作者头像 李华
网站建设 2026/4/16 14:01:20

从零开始学AI写作:Qwen3-4B-Instruct入门到精通

从零开始学AI写作&#xff1a;Qwen3-4B-Instruct入门到精通 1. 项目背景与核心价值 在生成式AI快速发展的今天&#xff0c;大语言模型正逐步从“能说会道”向“深度思考”演进。对于内容创作者、开发者和独立研究者而言&#xff0c;一个兼具高智商推理能力与本地可部署性的模…

作者头像 李华
网站建设 2026/4/16 13:30:53

终极指南:掌握Cura 3D打印切片的核心技巧

终极指南&#xff1a;掌握Cura 3D打印切片的核心技巧 【免费下载链接】Cura 3D printer / slicing GUI built on top of the Uranium framework 项目地址: https://gitcode.com/gh_mirrors/cu/Cura 当你精心设计的3D模型在打印时出现层间分离、支撑结构难以去除&#xf…

作者头像 李华
网站建设 2026/4/16 7:04:29

Android 3D模型查看器终极指南:免费移动端3D渲染解决方案

Android 3D模型查看器终极指南&#xff1a;免费移动端3D渲染解决方案 【免费下载链接】ModelViewer3D 3D model viewer app (STL, OBJ, PLY) for Android. 项目地址: https://gitcode.com/gh_mirrors/mo/ModelViewer3D 你是否曾经想过在手机上就能轻松查看3D模型&#x…

作者头像 李华