LeetCode 106. 已知中序后序 求二叉树

文章目录

    • 1. 题目
    • 2. 解题
      • 2.1 递归
      • 2.2 循环

1. 题目

在这里插入图片描述
类似题目LeetCode 105. 已知前序&中序 求二叉树

2. 解题

2.1 递归

递归法,后序最后一个是根节点
在这里插入图片描述

class Solution {
public:TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {unordered_map<int,int> m;//哈希表for(int i = 0; i < inorder.size(); ++i) {m[inorder[i]] = i;//方便后面查找位置}return build(postorder, inorder,0,postorder.size()-1,0,inorder.size()-1,m);}TreeNode* build(vector<int>& postorder, vector<int>& inorder, int pS, int pE, int iS, int iE, unordered_map<int,int> &m){if(pS > pE)return NULL;TreeNode *root = new TreeNode(postorder[pE]);int leftlen = m[postorder[pE]]-iS;root->left = build(postorder,inorder,pS,pS+leftlen-1,iS,m[postorder[pE]]-1,m);root->right = build(postorder,inorder,pS+leftlen,pE-1,m[postorder[pE]]+1,iE,m);return root;}
};

2.2 循环

class Solution {    //别人写的 循环
public:TreeNode* buildTree(vector<int>& in, vector<int>& post) {if (in.empty()) return NULL;stack<TreeNode*> S;TreeNode *root = new TreeNode(post.back()), *cur = root;S.push(root);for (int i = post.size() - 2, j = in.size() - 1; i >= 0; i--) {TreeNode *back = NULL, *cur = new TreeNode(post[i]);while (!S.empty() && S.top()->val == in[j]) {back = S.top(), S.pop(), j--;}if (back)back->left = cur;elseS.top()->right = cur;S.push(cur);}return root;}
};

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

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

相关文章

React Native工程中TSLint静态检查工具的探索之路

背景 建立的代码规范没人遵守&#xff0c;项目中遍地风格迥异的代码&#xff0c;你会不会抓狂&#xff1f; 通过测试用例的程序还会出现Bug&#xff0c;而原因仅仅是自己犯下的低级错误&#xff0c;你会不会抓狂&#xff1f; 某种代码写法存在问题导致崩溃时&#xff0c;只能全…

做一个好的搜索引擎有多难

文&#xff5c;见鹿知乎本文已获作者授权&#xff0c;禁止二次转载前言搜索引擎是个极其复杂的系统工程&#xff0c;搜索引擎上并不会大力出奇迹&#xff0c;需要一点点打磨。在搜索引擎上&#xff0c;q-u相关性计算是基础&#xff0c;但仍需要考虑其他很多因素&#xff0c;其中…

Android官方开发文档Training系列课程中文版:分享简单数据之添加简单的分享行为

原文地址&#xff1a;http://android.xsoftlab.net/training/sharing/shareaction.html 从Android4.0开始&#xff0c;使用ActionProvider可以更方便的在ActionBar上实现一个有效的、用户友好的分享按钮。一个ActionProvider一旦依附到了ActionBar的菜单条目上&#xff0c;它会…

开源开放 | OpenKG组织发布第二批并更新近十个新冠知识图谱开放数据集

2020年2月11日&#xff0c;世界卫生组织宣布了新型冠状病毒肺炎官方正式命名为 COVID-19&#xff0c;21日国家卫健委决定与世界卫生组织保持一致&#xff0c;中文名称不变。随着关于新型冠状病毒病毒疫情的不断发展&#xff0c;有关疫情的各类信息也在不断更新。OpenKG 紧随疫情…

事件抽取中的“门面技术”:事件名称生成浅谈

6月10日&#xff0c;“网信中国”微信公众号发布消息称&#xff1a;微博热搜榜、热门话题榜暂停更新一周&#xff0c;这使得很多热榜平台都受到波及&#xff0c;而在吃瓜之余&#xff0c;我们更进一步地思考热点榜单以及热点名称生成背后的技术&#xff0c;并发出两连问&#x…

保障IDC安全:分布式HIDS集群架构设计

背景 近年来&#xff0c;互联网上安全事件频发&#xff0c;企业信息安全越来越受到重视&#xff0c;而IDC服务器安全又是纵深防御体系中的重要一环。保障IDC安全&#xff0c;常用的是基于主机型入侵检测系统Host-based Intrusion Detection System&#xff0c;即HIDS。在HIDS面…

LeetCode 1154. 一年中的第几天

1. 题目 给你一个按 YYYY-MM-DD 格式表示日期的字符串 date&#xff0c;请你计算并返回该日期是当年的第几天。 通常情况下&#xff0c;我们认为 1 月 1 日是每年的第 1 天&#xff0c;1 月 2 日是每年的第 2 天&#xff0c;依此类推。每个月的天数与现行公元纪年法&#xff…

数据有偏差,照样能学对!20年前就有这么强的算法了?

文 | 白鹡鸰给小铁比了个心编 | 小轶背景“每个人都依赖自己的知识和认知&#xff0c;同时又为之束缚&#xff0c;还将此称为现实&#xff1b;但知识和认识是非常暧昧的东西&#xff0c;现实也许不过是镜花水月——人们都是活在偏见之中的&#xff0c;你不这样认为吗&#xff1…

Android官方开发文档Training系列课程中文版:分享文件之配置文件共享

原文地址&#xff1a;http://android.xsoftlab.net/training/secure-file-sharing/index.html 导言 APP经常需要给其它的APP提供一个或多个文件。举个例子&#xff0c;相册APP可能需要提供文件以供编辑&#xff0c;或者一个文件管理的APP可能希望用户在外部存储器中的两个区域…

论文浅尝 | 基于图卷积网络的跨语言图谱实体对齐

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究兴趣&#xff1a;知识图谱问答本文提出了一种基于图卷积网络的跨语言实体对齐方法&#xff0c;通过设计一种属性 embedding 用于 GCN 的训练&#xff0c;发现GCN能同时学习到特征 embedding 和属性 e…

面向中文自然语言处理的60余类系统开源实践项目与工业探索索引

项目介绍 面向中文自然语言处理的六十余类实践项目及学习索引&#xff0c;涵盖语言资源构建、社会计算、自然语言处理组件、知识图谱、事理图谱、知识抽取、情感分析、深度学习等几个学习主题。包括作者个人简介、学习心得、语言资源、工业落地系统等&#xff0c;是供自然语言处…

Android官方开发文档Training系列课程中文版:分享文件之分享一个文件

原文地址&#xff1a;http://android.xsoftlab.net/training/secure-file-sharing/share-file.html 一旦APP设置通过URI的方式共享文件&#xff0c;你需要响应其它APP请求这些文件的请求。响应这些请求的一种方式是&#xff0c;在服务端APP上提供一个文件选择接口&#xff0c;…

大众点评搜索基于知识图谱的深度学习排序实践

1. 引言 挑战与思路 搜索是大众点评App上用户进行信息查找的最大入口&#xff0c;是连接用户和信息的重要纽带。而用户搜索的方式和场景非常多样&#xff0c;并且由于对接业务种类多&#xff0c;流量差异大&#xff0c;为大众点评搜索&#xff08;下文简称点评搜索&#xff09;…

论文浅尝 \ 联合知识图谱实例和本体概念的通用表示学习

论文笔记整理&#xff1a;周虹廷&#xff0c;浙江大学研究生。研究方向&#xff1a;知识图谱&#xff0c;图表示学习等。论文链接&#xff1a;http://web.cs.ucla.edu/~yzsun/papers/2019_KDD_JOIE.pdf本文是发表在KDD 2019上的关于知识图谱表示学习的论文。现有知识图谱表示模…

手握顶会顶刊论文,自信满满面试算法岗竟被刷?

2020国内深度学习框架领域百花齐放。各大公司也都陆续推出了自己的框架&#xff0c;大大推动了深度学习的发展。深度学习俨然已经渗入到我们生活中的每个角落&#xff0c;给生活带来极大便利。深度学习能够针对生产生活所面临的复杂问题&#xff0c;给出高准确率、操作简易、成…

爬取热门网站的热榜,集中展示

爬取热门网站的热榜&#xff0c;集中展示&#xff1b;Integrate and display hot billboard or ranked topic from hot Chinese websites 抓取知乎热榜数据存入列表 #!/usr/bin/env python # encoding: utf-8__author__ HZTimport requests import re from bs4 import Beaut…

Android官方开发文档Training系列课程中文版:分享文件之请求一个共享文件

原文地址&#xff1a;http://android.xsoftlab.net/training/secure-file-sharing/request-file.html 当APP需要访问一个被其它APP所共享的文件时&#xff0c;这个APP通常需要发送一个请求给共享文件的那个APP(服务端)&#xff0c;在大多数的情况下&#xff0c;这个请求会启动…

LeetCode 110. 平衡二叉树(二叉树高度)

1. 题目 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7]3/ \9 20/ \15 7 返回 true 。…

人物志 | 美团技术委员会前端通道主席洪磊:爱折腾的斜杠青年

洪磊&#xff0c;2013年加入美团&#xff0c;目前是美团外卖事业部终端组的负责人&#xff0c;也是美团技术委员会前端通道主席。在加入美团之前&#xff0c;洪磊的职业生涯可以用“跌宕起伏”来形容。他就读于中南财经政法大学&#xff0c;曾任职于雅虎中国&#xff0c;先后担…

论文浅尝 | 可建模语义分层的知识图谱补全方法

本文转载自公众号&#xff1a;PaperWeekly。论文作者&#xff1a;蔡健宇&#xff0c;中国科学技术大学&#xff0c;研究方向&#xff1a;知识图谱近些年&#xff0c;知识图谱&#xff08;Knowledge Graph&#xff09;在自然语言处理、问答系统、推荐系统等诸多领域取得了广泛且…