class Solution:
def __init__(self):
self.root = None def construct(self,order,root,i):
if i==len(order):
return None
else:
if self.root==None:
self.root = TreeNode(order[i])
self.construct(order,self.root,i+1)
else:
if order[i]<root.val:
if root.left==None:
root.left = TreeNode(order[i])
self.construct(order,self.root,i+1)
else:
self.construct(order,root.left,i)
else:
if root.right==None:
root.right = TreeNode(order[i])
self.construct(order,self.root,i+1)
else:
self.construct(order,root.right,i) def bstFromPreorder(self, preorder: 'List[int]') -> 'TreeNode':
self.construct(preorder,self.root,0)
return self.root

比较简单的题目,递归方式构造二叉搜索树。

leetcode1008的更多相关文章

  1. [Swift]LeetCode1008. 先序遍历构造二叉树 | Construct Binary Search Tree from Preorder Traversal

    Return the root node of a binary search tree that matches the given preorder traversal. (Recall that ...

随机推荐

  1. lucene 4.0 - Facet demo

    package com.fox.facet; import java.io.File; import java.io.IOException; import java.util.ArrayList; ...

  2. 【JVM】Class结构之常量池

    常量池 主要包括下面2类: 字面量(Literal):如int,double,String等: 符号引用(Symbolic Reference): 符号引用 类和接口的全限定名: 字段的名称和描述符: ...

  3. 还原MongoDB dump备份出来的Bson数据

    集合名 数据库名 备份文件位置 mongorestore --collection people --db accounts dump/accounts/people.bson

  4. C#使用MapReduce实现对分片数据的分组

    事由:mongodb已经进行数据分片,这样就不能使用一些方法就不能使用,例如eval,$group如果尝试使用mongodb会提示 Error: { , "errmsg" : &q ...

  5. 远程服务器安装mysql数据库

    https://www.cnblogs.com/renjidong/p/7047396.html 1.新开的云服务器,需要检测系统是否自带安装mysql # yum list installed | ...

  6. MySQL binlog 组提交与 XA(两阶段提交)--1

    参考了网上几篇比较靠谱的文章 http://www.linuxidc.com/Linux/2015-11/124942.htm http://blog.csdn.net/woqutechteam/ar ...

  7. 关于string.Template的简单介绍

    一.简介 string模块定义了一种新字符串类型Template,它简化了特定的字符串置换操作. 何谓“简化”?我们可以先想一下我们之前比较常用的有关字符串的“置换”操作有哪些:一种是利用%操作符实现 ...

  8. [UE4]显示队友

  9. [UE4]控件模板参数

    创建的时候就会变成这样了.

  10. springmvc使用步骤

    1.导包 2.在web.xml文件中配置前端控制器dispatchServlet 3.创建springmvc配置文件springmvc.xml 4.编写controller 5.在springmvc中 ...