leetcode-mid-Linked list- 105. Construct Binary Tree from Preorder and Inorder Traversal
mycode 43.86%
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None class Solution(object):
def buildTree(self, preorder, inorder):
"""
:type preorder: List[int]
:type inorder: List[int]
:rtype: TreeNode
"""
if len(inorder)==0 or len(preorder)==0:
return
pos = inorder.index(preorder[0])
root = TreeNode(preorder[0])
root.left = self.buildTree(preorder[1:pos+1], inorder[:pos])
root.right = self.buildTree(preorder[pos+1:],inorder[pos+1:])
return root
参考:
可能map的方法会比index快
class Solution(object):
def buildTree(self, preorder, inorder):
"""
:type preorder: List[int]
:type inorder: List[int]
:rtype: TreeNode
"""
if not inorder or not preorder:
return None
map = {val:idx for idx, val in enumerate(inorder)}
pos = map[preorder[0]]
root = TreeNode(preorder[0])
root.left = self.buildTree(preorder[1:pos+1], inorder[:pos])
root.right = self.buildTree(preorder[pos+1:],inorder[pos+1:])
return root
leetcode-mid-Linked list- 105. Construct Binary Tree from Preorder and Inorder Traversal的更多相关文章
- 【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal
		
Construct Binary Tree from Preorder and Inorder Traversal Given preorder and inorder traversal of a ...
 - [LeetCode] 105. 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 ...
 - LeetCode 105. 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 ...
 - 【一天一道LeetCode】#105. Construct Binary Tree from Preorder and Inorder Traversal
		
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源:http ...
 - (二叉树 递归) leetcode 105. 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 ...
 - 【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树(Python)
		
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcod ...
 - leetcode 105  Construct Binary Tree from Preorder and Inorder Traversal ----- java
		
Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...
 - LeetCode OJ 105. 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 ...
 - LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal 由前序和中序遍历建立二叉树 C++
		
Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...
 - Java for LeetCode 105 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 ...
 
随机推荐
- 计算机系统结构总结_Branch prediction
			
Textbook:<计算机组成与设计——硬件/软件接口> HI<计算机体系结构——量化研究方法> QR Branch Prediction 对于下面的指令: ...
 - JS调用PageMethods
			
http://www.cnblogs.com/Ren_Lei/archive/2010/07/14/1777413.html JS调用PageMethods 操作步骤: 1.新建一个WebApplic ...
 - 【React -- 9/100】 抽离顶部导航栏 - [组件复用]
			
今天写的页面中需要重复使用到顶部导航栏,所以把顶部导航栏抽离出来 考虑复用组件的健壮性,使用PropTypes校验,可以自定义一个click事件 JSX import React from " ...
 - 更改导航栏的背景和文字Color
			
更改导航栏的背景和文字Color方法一: [objc] view plaincopy//set NavigationBar 背景颜色&title 颜色 [self.navigationCon ...
 - linux Nginx 的安装
			
确保安装了 gcc,openssl-devel,pcre-devel,zilb-devel 下载官网:http://nginx.org/ [root@localhost tools]# wget ht ...
 - Linux架构之Nginx 常见问题
			
第54章 Nginx常见问题 一.Nginx多Sever优先级 在开始处理一个http请求时,nginx会取出header头中的Host变量,与nginx.conf中每个server的server_n ...
 - hdu 5890 01背包 bitset
			
注意不能每个T都mem 不然会T #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b, ...
 - L3-015. 球队“食物链”
			
某国的足球联赛中有N支参赛球队,编号从1至N.联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场. 联赛战罢,结果已经尘埃落定.此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链 ...
 - Python核心技术与实战——四|Python黑箱:输入与输出
			
抽象的看,Python程序可以被看成一个黑箱:通过输入流将数据送达,经过处理后在输入,也就是说具备了一个图灵机运作的必要条件. 输入输出基础 最简单的输入是来自键盘的操作 name = input(' ...
 - Git版本控制工具初识
			
Git使用教程 0 Git下载安装 下载网址:https://www.git-scm.com/download/ 安装时,一路next就可以了,如果遇到下载很慢时,可以选择换个浏览器试试,实在不行就找 ...