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

最新文章

  1. Hibernate 随记(数据库映射流程)
  2. REGEX.C GNU 提取过滤数据
  3. 黑马程序员-循环引用问题和weak
  4. 大话immutable.js
  5. PHP学习笔记:keditor的使用
  6. C#报错:创建调试信息文件 ……obj\Debug\model.pdb: 拒绝访问
  7. Asp.net设计模式笔记之一:理解设计模式
  8. Springfox Reference Documentation
  9. MySQL备份的shell脚本
  10. Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印
  11. ltrace killed by SIGTRAP
  12. HDU5319
  13. nyoj 36
  14. javascirpt怎样模仿块级作用域(js高程笔记)
  15. 自己编写JavaScript的sort函数
  16. SQL - for xml path('') 实现多行合并到一行, 并带有分隔符
  17. JavaScript中date 对象常用方法
  18. xpath的常见操作
  19. 简单的卷积神经网络(CNN)的搭建
  20. windows系统IIS服务安装

热门文章

  1. 【模板】最长上升子序列(LIS)及其优化 & 洛谷 AT2827 LIS
  2. 关系型数据库为什么喜欢使用B+树作为索引结构? (转)
  3. Zookeeper — 应用场景
  4. 2019牛客暑期多校训练营(第八场) - B - Beauty Values - 水题
  5. j网络爬虫之WebMagic
  6. js验证小数或者整数
  7. There are multiple modules with names that only differ in casing. This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
  8. man - 格式化并显示在线帮助手册页
  9. Ant Design -- 图片可拖拽效果,图片跟随鼠标移动
  10. DevExpress v18.2版本亮点——Office File API 篇