news 2026/6/17 5:24:35

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

作者头像

张小明

前端开发工程师

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/5/30 21:25:08

NotaGen实战案例:打造个性化莫扎特风格作品

NotaGen实战案例&#xff1a;打造个性化莫扎特风格作品 1. 引言 在人工智能与艺术融合的浪潮中&#xff0c;音乐生成技术正逐步从实验性探索走向实际应用。NotaGen作为一款基于大语言模型&#xff08;LLM&#xff09;范式构建的高质量古典符号化音乐生成系统&#xff0c;为音…

作者头像 李华
网站建设 2026/6/15 14:24:21

如何高效部署70亿参数翻译大模型?HY-MT1.5-7B镜像一键启动全解析

如何高效部署70亿参数翻译大模型&#xff1f;HY-MT1.5-7B镜像一键启动全解析 在多语言内容需求激增的当下&#xff0c;高质量、低延迟的机器翻译能力已成为企业出海、学术交流和跨文化协作的核心基础设施。然而&#xff0c;传统开源翻译模型往往面临部署复杂、下载缓慢、推理效…

作者头像 李华
网站建设 2026/6/16 22:07:17

上下文无关文法(CFG)—软考文法题

你有没有想过&#xff0c;咱们写的代码&#xff08;比如ab-c&#xff09;&#xff0c;为啥计算机能看懂&#xff1f;其实背后是一套 “规则说明书” 在起作用 —— 这就是上下文无关文法&#xff08;CFG&#xff09;&#xff0c;而 “推导” 就是计算机按照说明书把 “抽象符号…

作者头像 李华
网站建设 2026/6/14 14:48:21

PV 操作——软考文法题

PV 操作&#xff1a;从荷兰语源到芯片行业库存管理的深度解析一、 PV 操作的起源与定义&#xff1a;荷兰语的智慧结晶PV 操作是计算机科学中用于进程同步与互斥的经典原语&#xff0c;由荷兰计算机科学家艾兹赫尔・戴克斯特拉 (Edsger W. Dijkstra) 于 1965 年提出。其名称源自…

作者头像 李华
网站建设 2026/6/10 19:05:27

从零生成贝多芬风格乐曲|NotaGen WebUI操作实战

从零生成贝多芬风格乐曲&#xff5c;NotaGen WebUI操作实战 1. 引言&#xff1a;AI音乐生成的新范式 近年来&#xff0c;大语言模型&#xff08;LLM&#xff09;技术不仅在自然语言处理领域取得突破&#xff0c;也开始向艺术创作领域延伸。音乐作为人类情感表达的重要载体&am…

作者头像 李华
网站建设 2026/5/28 20:03:02

Fast-Font视觉加速字体:开启高效阅读革命

Fast-Font视觉加速字体&#xff1a;开启高效阅读革命 【免费下载链接】Fast-Font This font provides faster reading through facilitating the reading process by guiding the eyes through text with artificial fixation points. 项目地址: https://gitcode.com/gh_mirr…

作者头像 李华