LeetCode 刷题之旅(2020.05.22)——105. 从前序与中序遍历序列构造二叉树(中)
LeetCode 刷题之旅(2020.05.22)——105. 从前序与中序遍历序列构造二叉树(中)
题目:
根据一棵树的前序遍历与中序遍历构造二叉树。
注意:
你可以假设树中没有重复的元素。
例如,给出
前序遍历 preorder = [3,9,20,15,7]
中序遍历 inorder = [9,3,15,20,7]
返回如下的二叉树:
3/ \9 20/ \15 7
解题模板:
Python 3:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = Noneclass Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:
解题思路:
- 递归法:
按照先左子树,后右子树的顺序递归,直到数组的先序列表和中序列表中的元素都用完为止。
解法:
class Solution:def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode:if not preorder or not inorder:returnroot = TreeNode(preorder[0])num = inorder.index(preorder[0])root.left = self.buildTree(preorder[1 : 1 + num], inorder[: num])root.right = self.buildTree(preorder[1 + num:], inorder[num + 1:])return root
时间复杂度O(N)
空间复杂度O(1)
LeetCode 刷题之旅(2020.05.22)——105. 从前序与中序遍历序列构造二叉树(中)相关推荐
- 刷题记录8---验证二叉搜索树+二叉树的层序遍历+从前序与中序遍历序列构造二叉树+二叉树展开为链表+二叉树的最近公共祖先
前言 所有题目均来自力扣题库中的hot 100,之所以要记录在这里,只是方便后续复习 98.验证二叉搜索树 题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜 ...
- [Leedcode][JAVA][第105题][从前序与中序遍历序列构造二叉树][栈][递归][二叉树]
[问题描述][中等] 根据一棵树的前序遍历与中序遍历构造二叉树.注意: 你可以假设树中没有重复的元素.例如,给出前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = ...
- 【LeetCode系列】从中序与后序遍历序列构造二叉树 从前序与中序遍历序列构造二叉树...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 105. 从前序与中序遍历序列构造二叉树 根据一棵树的前序遍历与中序遍历构造二叉树 ...
- 【LeetCode】【HOT】105. 从前序与中序遍历序列构造二叉树(哈希表+递归)
[LeetCode][HOT]105. 从前序与中序遍历序列构造二叉树 文章目录 [LeetCode][HOT]105. 从前序与中序遍历序列构造二叉树 package hot;import java ...
- 二叉树的中序遍历_Go 刷 leetcode从前序与中序遍历序列构造二叉树
今天为大家讲解 LeetCode 第 105 题,是一道关于数组和树的题目. 题目描述 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 pre ...
- leetcode 105. 从前序与中序遍历序列构造二叉树 c语言递归解法
如题: 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素.例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3 ...
- pat根据中序遍历和先序遍历_算法题399:从前序与中序遍历序列构造二叉树
(给算法爱好者加星标,修炼编程内功) 来源: 数据结构和算法-山大王wld 问题描述 今天我们就不做关于双指针的了,我们爬到树上玩会儿,做一道关于二叉树的题.今天的题就一句话,根据一棵树的前序遍历与中 ...
- Leetcode 105. 前序和中序遍历序列构造二叉树
Time: 20190901 Type: Medium 题目描述 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3, ...
- 【LeetCode笔记】105. 从前序与中序遍历序列构造二叉树(Java、递归、二叉树、哈希表)
文章目录 题目描述 代码 & 思路 题目描述 这题主要是考察前序.后序的性质,以及相互间的关系 代码 & 思路 前序:根 - 左 - 右: 中序:左 - 根 - 右,那么用前序数组的首 ...
最新文章
- 观察内核linux行为,Linux 学习:基于proc观察Linux行为
- Scrum Mastery:有效利用组织的5个步骤
- 计算机计组成原理课后,计算机组成原理课后习题课(0001).doc
- 【计组实验】P3 Verilog多周期处理器开发 MIPS指令集
- 被同事嘲笑说技术方案没深度?
- 【渝粤教育】 广东开放大学21秋期末考试管理学基础10241k2
- android fragment 管理器,Android Fragment 與 Fragment管理器
- SRM 212 Div II Level One: YahtzeeScore
- Spring Boot RestTemplate 忽略证书访问https
- android 绘制控件,Android自定义控件绘制基本图形基础入门
- CCF2014123集合竞价(C语言版)
- 【Java中的网络编程】
- Linux下MySQL的基础(一)
- 唯有读书,能战胜这个爆炸的时代
- Boost Asio快速入门
- 明星造型师Tara Swennen和Glamhive创始人Stephanie Sprangers再次汇聚全球造型、时尚、美妆和女性赋权领域“大咖”参加突破性数字盛会
- 用acts_as_paranoid 做假删除
- python 统计英语文档词汇出现频率,以六级真题为例
- 函数的连续性与间断点
- C语言|博客作业07
热门文章
- 201709今日头条测试开发校招面经
- 如何规划、建设你的数据库架构
- 一个可以添加商品、查询商品的程序,登录成功的话,再去操作,添加、查询商品,添加商品也是写在文件里面...
- Visdrone2019数据集.txt标签文件转换为voc格式.XML标签文件
- 电影《摔跤吧!爸爸》四个触动我的瞬间
- 数字IC手撕代码-乐鑫科技笔试真题(4倍频)
- Git版本控制管理——提交
- 景安网络:根植中原厚土发力云计算巅峰
- 今日芯声 | Android麻烦了!鸿蒙OS将让它变得更脆弱
- C++内存泄漏排查以及几个工具