Leetcode---Construct Binary Tree from Preorder and Inorder Traversal

代谢组数据分析(三):代谢组降维分析 本文详细介绍了代谢组学中常用的降维分析方法,包括PCA、PLS-DA和OPLS-DA。PCA通过线性变换降低数据维度,便于数据可视化和异常值检测;PLS-DA是一种有监督的模式识别方法,适用于分类和预测;OPLS-DA通过正交分解避免过拟合,更准确地筛选差异代谢物。降维分析在揭示样本间差异和发现生物标志物方面具有重要意义 阅读详情

Given preorder and inorder traversal of a tree, construct the binary tree.

由树的前序遍历序列和中序遍历序列构建二叉树


1. 在中序序列中找到根节点

2. 把中序序列拆分成左右两个中序序列

3. 找对应的前序序列,注意,对应的中序和前序序列长度相同

4. 递归

TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder) {
    if(preorder.size()==0 || inorder.size()==0)
        return NULL;
    TreeNode * root=new TreeNode(preorder[0]);
    int j=0;
    for(j=0;j<inorder.size();j++){
        if(inorder[j]==preorder[0]){
            break;
        }
    }
    if(j-1>=0){
    vector<int> leftinorder(inorder.begin(),inorder.begin()+j-1);
    vector<int> leftpreorder(preorder.begin()+1,preorder.begin()+j);
    root->left=buildTree(leftpreorder,leftinorder);
    }
    if(j+1<=inorder.size()-1){
    vector<int> rightinorder(inorder.begin()+j+1,inorder.end());
    vector<int> rightpreorder(preorder.begin()+1+j,preorder.end());
    root->right=buildTree(rightpreorder,rightinorder);
    }
    return root;
}


哈哈,超内存了!原因就是局部变量用多了呗,修改一下:

TreeNode * f(vector<int> &inorder, vector<int> &preorder, int inl,int inr,int prel, int prer){
    int n=inr-inl+1;
    if(n==0)
        return NULL;
    int i=0;
    for(;i<=n-1;i++){
        if(inorder[inl+i]==preorder[prel])
            break;
    }
    TreeNode * root=new TreeNode(inorder[inl+i]);
    root->left=f(inorder,preorder,inl,inl+i-1,prel+1,prel+i);
    root->right=f(inorder,preorder,inl+i+1,inr,prel+i+1,prer);
    return root;
}
TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder) {
    return f(inorder,preorder,0,inorder.size()-1,0,preorder.size()-1);
}




学Simulink--环境感知场景实例:基于Simulink的毫米波雷达多目标跟踪仿真 本文介绍了基于Simulink的毫米波雷达多目标跟踪仿真系统,重点分析了FMCW雷达信号处理流程(Range/Doppler FFT、CFAR检测)和多目标跟踪算法(JPDA数据关联、EKF状态估计)。通过构建城市道路交叉场景,验证了系统在跟踪精度(位置误差<0.2m)、实时性(单帧处理24ms)和鲁棒性(ID切换率<5%)方面的性能优势,并提出了UKF滤波、多传感器融合等优化方向。该仿真系统为自动驾驶环境感知提供了实用的毫米波雷达跟踪解决方案。 阅读详情

相关推荐

基于555定时器的D类功放设计:从PWM原理到无反馈电路实践

D类功放(数字功放)是一种高效率的音频放大技术,其核心原理是脉冲宽度调制(PWM)。它将输入的模拟音频信号转换为一系列高速开关的脉冲,通过控制功率开关管(如MOSFET)的通断,再经低通滤波器还原放大后的音频。相比传统AB类功放,其转换效率通常超过90%,显著降低了热能损耗。这项技术在追求高能效和小型化的现代音频设备中价值凸显,广泛应用于有源音箱、汽车音响和便携式设备。本文聚焦于一种独特的实现方案:以经典的555定时器芯片为核心,构建一个无整体负反馈的D类功放。通过剖析其PWM调制器、FET电压-电流转换级

weixin_30162121的博客 221

python(c++)刷题+剑指offer

53-1. 在排序数组中查找数字 I 思路1:hash class Solution: def search(self, nums, target): dict_={} for i in range(len(nums)): dict_[nums[i]] = dict_.get(nums[i],0)+1 print(dict_) return dict_[target] if target in dict

智障变智能 1191

OpenCV轮廓匹配实战:5分钟搞定Hu矩形状识别(附完整代码)

本文详细介绍了使用OpenCV进行轮廓匹配的实战技术,重点讲解了Hu矩形状识别在工业质检等领域的应用。通过完整的代码示例和参数调优技巧,帮助开发者在5分钟内实现高效的形状识别,提升工业检测的准确性和效率。

nnn11的博客 675

【数据结构-二叉树】递归框架&数据结构搜索基础入门

【数据结构-二叉树】框架以及数据结构搜索基础入门 结合1.框架 + 2.第三章数据机构基础的搜索。

少年初心的博客 492

tree_sitter多语言解析器配置实战指南

本文是一份详细的Tree-sitter多语言解析器配置实战指南。文章从零开始,手把手指导如何搭建Python环境、安装指定版本的tree-sitter库、下载并编译多种语言的语法规则,最终构建一个统一的解析器库。通过实战代码演示了如何初始化解析器、解析代码并遍历语法树,旨在帮助开发者高效处理多语言代码分析任务,并分享了高级技巧与常见问题排坑经验。

weixin_29245767的博客 267

大尺寸智能车的CAN驱动控制器制作(一)

本驱动板使用8个半H桥BTS7960驱动,使用CAN接口于车体主控制器通讯,最大承受电压48V 电流20A ,主控为STM32F103VET6,电机控制频率为18KHz,CAN通讯芯片为TJA1042T,全驱动板6-24V宽电压供电,采用24V降5V,5V降3.3V的方案供电,其中经过AMS1117作为降压芯片,可以有效降低主控损毁几率。在这里可以看到555电机相比于其他电机的功率大很多,所以需要大功率的电机驱动,在以往的电机驱动选型中选择了TB6612,L298N等小功率电机驱动。

技术的力量能够改变世界 569

【Leetcode】Construct Binary Tree from Preorder and Inorder Traversal

题目链接:https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 题目: Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may ass

业精于勤,荒于嬉 3575

ESP32学习笔记03-日志打印

日志分为5个等级。

Car12 1415

LeetCode Construct Binary Tree from Preorder and Inorder Traversal

通过一棵二叉树的前序和中序排列来得出它的树形结构。

DRFish 1604

PX4从放弃到精通(二十七):固定翼姿态控制

固件版本 PX4 1.13.2欢迎交流学习,可加左侧名片。

超维空间科技的博客 6887

【YOLO26保姆级零踩坑教程】环境搭建+五大任务快速入门,一行代码实现检测/分割/姿态/OBB/分类(Win+Linux全适配)

YOLO26环境搭建与实战指南:零踩坑全适配 本文是YOLO26全栈技术专栏的入门篇,提供Windows/Linux双系统的纯实战环境搭建指南,主打零踩坑、全适配。YOLO26基于Ultralytics框架优化,无需编译源码或手动下载权重,原生支持多任务推理。 环境配置关键点: 必须安装Ultralytics 8.4.0及以上版本 支持CPU/GPU环境,推荐Python 3.8-3.11 提供清华源配置解决下载慢问题 安装步骤: CPU版:一键安装Ultralytics和OpenCV GPU版:匹配CUD

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 774

leetcode 随笔 Construct Binary Tree from Preorder and Inorder Traversal

Construct Binary Tree from Preorder and Inorder Traversal今天这题有些收获,这题给出的两个遍历结果分别是前序遍历和中序遍历,我一开始理解成了层序遍历和中序遍历,因为这个样例层序遍历与中序遍历的结果正好是一样的,最溜的是我最后写出来的理解成层序遍历的代码居然还跑过了!虽然时间上就很差。这题的思路就是生成树,每次生成一个节点,我们知道前序遍历的第...

Runner_of_nku的博客 7565

AI辅助Android开发:从传统到智能化的技术演进

AI辅助开发的核心在于利用算法模型自动化或优化传统任务。在Android开发中,AI可应用于需求分析、设计、编码、测试和维护各阶段。需求分析:AI工具如基于NLP的模型(例如GPT系列)可解析用户需求文档,自动生成用户故事和原型设计。假设产品需求为“开发一个航班查询应用”,AI能提取关键词,输出UML图或伪代码。代码生成:使用AI代码助手(如GitHub Copilot),工程师输入自然语言描述,AI生成Java/Kotlin代码片段。

郑伟强dev的专栏 137

[LeetCode] Construct Binary Tree from Preorder and Inorder Traversal

[Problem] Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree. [Solution] class Solution {public: // find eleme

1.02^365的成长裂变 3673

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[LeetCode-21]Construct Binary Tree from Preorder and Inorder Traversal

Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree.

coder 进阶的专栏 4349

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal

文章作者:Tyan 博客:noahsnail.com &nbsp;|&nbsp; 优快云 &nbsp;|&nbsp; 简书 1. Description 2. Solution /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *le...

SnailTyan 302

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[LeetCode][105] Construct Binary Tree from Preorder and Inorder Traversal

以下是爆栈写法 当前测试过不掉了(以前貌似可以 看到discus里有好多和我一样的写法 原因就是传递函数的过程中复制消耗了栈空间 同时时间也不乐观的大量提升 所以告诉我们一个道理。能用辅助函数就用辅助函数来操作上下界,直接写太ugly 维护性差 而且内存会爆炸。 /* * @lc app=leetcode id=105 lang=cpp * * [105] Construct Binary...

OCEANtroye的博客 441

[LeetCode]Construct Binary Tree from Preorder and Inorder Traversal

题目描述 Given preorder and inorder traversal of a tree, construct the binary tree. 解题思路 代码

cjllife的专栏 591

【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal 解题报告

转载请注明出处:http://blog.youkuaiyun.com/crazy1235/article/details/51471280Subject 出处:https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ Given preorder and inorder traversa

crazy_jack 8974

LeetCode之Construct Binary Tree from Preorder and Inorder Traversal

Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree. preorder:DLR inorder:  LDR /** * Definition for bina

Peep Hole 1497

LeetCode 105:Construct Binary Tree from Preorder and Inorder Traversal

LeetCode 105: Given preorder and inorder traversal of a tree, construct the binary tree. 给定一个二叉树的前序和中序遍历,重建这棵二叉树。

哈哈的个人专栏 1688

leetcode题解:第105题Construct Binary Tree from Preorder and Inorder Traversal

https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 文章目录解法一、递归代码复杂度分析解法二、迭代 解法一、递归 前序遍历的序列组成形式为:根, {左子树前序结果}, {右子树前序结果} 中序遍历的序列组成形式为:{左子树中序结果}, 根, {右子树中序结果} 把上面这两行写出来,递归解法就很容易想到了。 很明显,我们需要知道左子树的节点个数,才好获取到左子树的前序结果。由于树

chenf1999的博客 345

[LeetCode] 105. Construct Binary Tree from Preorder and Inorder Traversal

原题链接:

Ber03的博客 238

leetcode-Construct Binary Tree from Preorder and Inorder Traversal

Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree. 这道题跟之前的从中序和后序序列中构造二叉树类似的,换成了从先序和中序序列来构造。 /** * Defi

freeliao的专栏 在路上奔跑。。。 1235

Leetcode: Construct Binary Tree from Preorder and Inorder Traversal

题目: Given preorder and inorder traversal of a tree, construct the binary tree.Note: You may assume that duplicates do not exist in the tree. 根据前序遍历和中序遍历结果构造二叉树。思路分析: 分析二叉树前序遍历和中序遍历的结果我们发现: 二叉树中序遍

给永远比拿愉快 1349

LeetCode_Construct Binary Tree from Preorder and Inorder Traversal

LeetCode_Construct Binary Tree from Preorder and Inorder Traversal 解题思路

小胜爱捣鼓 1160
上一篇: Leetcode---Unique Binary Search Trees II
下一篇: Leetcode---Construct Binary Tree from Inorder and Postorder Traversal
我把葡萄酿成酒
博客等级 码龄12年 275粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值