LeetCode 1008. 先序遍历构造二叉树(已知先序,求二叉搜索树)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

返回与给定先序遍历 preorder 相匹配的二叉搜索树(binary search tree)的根结点。

示例:输入:[8,5,1,7,10,12],已知二叉搜索树的先序(根左右)
输出:[8,5,10,1,7,null,12],建立二叉搜索树,返回其root

2. 解题

  • 办法1:排序后就是搜索树的中序,那已知先序和中序,可唯一确定树

  • 办法2:利用二叉搜索树的性质,左子树所有的值都小于root,右子树都大于root
  • 在先序里第一个是根节点的值,然后后面跟着的比它小的是左子树,有大的出现了,就是右子树部分的
  • 递归进行上面步骤
    在这里插入图片描述
class Solution {
public:TreeNode* bstFromPreorder(vector<int>& preorder) {return form(preorder,0,preorder.size()-1);}TreeNode* form(vector<int>& preorder, int start, int end){if(start > end)return NULL;TreeNode* newroot = new TreeNode(preorder[start]);int i;for(i = start+1; i <= end; ++i){if(preorder[i] > preorder[start])break;//右子树的开始 i }newroot->left = form(preorder,start+1,i-1);newroot->right = form(preorder,i,end);return newroot;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美团开源 Logan Web:前端日志在 Web 端的实现

1.前言 Logan 是美团点评推出的大前端日志系统&#xff0c;支持多端环境运行&#xff0c;可为客户端、Web、小程序等用户端环境提供前端日志的存储、收集、上报及分析能力&#xff0c;能够帮助开发人员快速定位并解决端上问题&#xff0c;便于及时响应用户反馈与排除异常。 201…

推荐一个快速定位深度学习代码bug的炼丹神器!

文 | McGL源 | 知乎写深度学习网络代码&#xff0c;最大的挑战之一&#xff0c;尤其对新手来说&#xff0c;就是把所有的张量维度正确对齐。如果以前就有TensorSensor这个工具&#xff0c;相信我的头发一定比现在更浓密茂盛&#xff01;TensorSensor&#xff0c;码痴教授 Teren…

研讨会 | 知识图谱引领认知智能+

本文转载自公众号&#xff1a;中国计算机学会。本论坛将于 CNCC2019 中国计算机大会第一天&#xff08;10月17日&#xff09;在苏州金鸡湖国际会议中心 A102 会议室举行&#xff0c;共邀微软、阿里巴巴、华为、小米、浙江大学、苏州大学等机构的专家与你探讨。知识图谱是一种用…

LeetCode 617. 合并二叉树

文章目录1. 题目2. 递归解题1. 题目 给定两个二叉树&#xff0c;想象当你将它们中的一个覆盖到另一个上时&#xff0c;两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠&#xff0c;那么将他们的值相加作为节点合并后的新值&…

BIO,NIO,AIO

BIO,NIO,AIO 介绍一、背景1.1 说明1.2 通信技术整体解决的问题二、Java的I/O演进之路2.1 I/O 模型基本说明2.2 I/O模型Java BIOJava NIOJava AIO2.3 BIO、NIO、AIO 适用场景分析三、BIO,NIO,AIO总结一、背景 1.1 说明 ​ 在Java的软件设计开发中&#xff0c;通信架构是不可避…

学PyTorch还是TensorFlow?

在机器学习领域&#xff0c;面对各类复杂多变的业务问题&#xff0c;构建灵活易调整的模型是高阶机器学习工程师必备的工作能力。然而&#xff0c;许多工程师还是有一个想法上的误区&#xff0c;以为只要掌握了一种深度学习的框架就能走遍天下了。事实上&#xff0c;在机器学习…

Bifrost微前端框架及其在美团闪购中的实践

Bifrost&#xff08;英 [‘bi:frɔst]&#xff09;原意彩虹桥&#xff0c;北欧神话中是连通天地的一条通道。而在漫威电影《雷神》中&#xff0c;Bifrost是神域——阿斯加德&#xff08;Asgard&#xff09;的出入口&#xff0c;神域的人通过它自由穿梭于“九界”&#xff08;指…

设计模式之观察者模式在Listview中的应用

有时候我们会有这么一个需求&#xff0c;在Listview的某个Item上有个按钮&#xff0c;点击这个按钮之后呢&#xff0c;需要对其它的item做一些操作&#xff0c;就像下面这个&#xff1a; 采纳按钮点击之前&#xff1a;采纳按钮点击之后&#xff1a; 简单介绍一下这两张图的意…

新书速递 | 《知识图谱:方法、实践与应用》

本文转载自公众号&#xff1a;博文视点Broadview 。互联网促成了大数据的集聚&#xff0c;大数据进而促进了人工智能算法的进步。近年来知识图谱作为AI领域底层技术被越来越多的人谈起。知识图谱的升温得益于新数据和新算法为规模化知识图谱构建提供了新的技术基础和发展条件&a…

Github Star过万的阿里学长独家干货分享

浅梦是我认识的一位浙大计算机系的学长&#xff0c;目前在阿里从事算法相关的工作。无论在学校还是工作中&#xff0c;他都保持着对新知识的学习和分享。他的github star 1w&#xff0c;世界排名700&#xff0c;参与开发的项目下载量接近30w次。主要涉及「推荐系统」&#xff0…

React Native在美团外卖客户端的实践

MRN简介 MRN&#xff08;Meituan React Native&#xff09; 是基于开源的React Native框架改造并完善而成的一套动态化方案&#xff0c;在开发体验上基本能与原生RN保持一致&#xff0c;同时从业务需求的角度满足从开发、构建、测试、部署、运维的工程化需要。解决了一系列痛点…

论文浅尝 | 使用预训练深度模型和迁移学习方法的端到端模糊实体匹配

论文笔记整理&#xff1a;高凤宁&#xff0c;南京大学硕士&#xff0c;研究方向为知识图谱、实体消解。链接&#xff1a;https://doi.org/10.1145/3308558.3313578动机目前实体匹配过程中实体之间的差异比较微妙&#xff0c;不同的情况下可能会有不同的决策结果&#xff0c;导致…

推荐几个Android开发非常有用的工具(for android studio)

原文地址: http://stormzhang.com/android/2015/05/26/android-tools/ 一晃好久没更新博客了&#xff0c;最近一个月真的很忙&#xff0c;因为公司在准备C轮融资&#xff0c;公司的发展到了一个关键的阶段&#xff0c;自己全部精力投入在公司产品上&#xff0c;这个状态可能还会…

分布式机器学习(下)-联邦学习

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/114028503 本视频来源于Shusen Wang讲解的《分布式机器学习》&#xff0c;总共有三讲&#xff0c;内容和连接如下&#xff1a;并行计算与机器学习&#xff08;上&#xff09;并行计算与机器学习&#xff08;下&#xff09;联…

怎样将Embedding融入传统机器学习框架?

文 | 石塔西源 | 知乎LR本身是一个经典的CTR模型&#xff0c;广泛应用于推荐/广告系统。输入的特征大多数是离散型/组合型。那么对于Embedding技术&#xff0c;如何在不使用深度学习模型的情况下&#xff08;假设就是不能用DNN&#xff09;&#xff0c;融入到LR框架中呢&#x…

推荐系统中的Embedding

推荐系统之Embedding一、什么是embedding&#xff1f;1. 让embedding空前流行的word2vec&#xff1a;2. 从word2vec到item2vec二、Graph Embedding1. 经典的Graph Embedding方法 — DeepWalk2. DeepWalk改进 — Node2vec3. 阿里的Graph Embedding方法EGES三、深度学习推荐系统中…

美团下一代服务治理系统 OCTO 2.0 的探索与实践

本文根据美团基础架构部服务治理团队工程师郭继东在2019 QCon&#xff08;全球软件开发大会&#xff09;上的演讲内容整理而成&#xff0c;主要阐述美团大规模治理体系结合 Service Mesh 演进的探索实践&#xff0c;希望对从事此领域的同学有所帮助。 一、OCTO 现状分析 OCTO 是…

技术动态 | 跨句多元关系抽取

本文转载自公众号&#xff1a;知识工场。第一部分 概述关系抽取简介关系抽取是从自由文本中获取实体间所具有的语义关系。这种语义关系常以三元组 <E1,R,E2> 的形式表达&#xff0c;其中&#xff0c;E1 和E2 表示实体&#xff0c;R 表示实体间所具有的语义关系。如图1所示…

网络解析(一):LeNet-5详解

原文链接&#xff1a;https://cuijiahua.com/blog/2018/01/dl_3.html 2018年1月9日21:03:313994,282 C摘要LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition&#xff0c;是一种用于手写体字符识别的非常高效的卷积神经网络。一、前言LeNet-5出自论文Gr…

LeetCode 69. x 的平方根(二分查找)

文章目录1. 题目2.解题2.1 二分查找2.2 牛顿迭代1. 题目 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根&#xff0c;其中 x 是非负整数。 由于返回类型是整数&#xff0c;结果只保留整数的部分&#xff0c;小数部分将被舍去。 示例 1:输入: 4 输出: 2 示例 2:输入: 8…