题目描述

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

递归法:

先判断左子树是否存在

再判断右子树是否存在

然后递归判断左子树右子树是否为二叉树

# -*- coding:utf-8 -*-
class Solution:
def VerifySquenceOfBST(self, sequence):
if not sequence:
return False
lens = len(sequence)
root = sequence[-1]
#左子树
for i in range(lens):
if sequence[i]>root:
break
for j in range(i,lens):
if sequence[j]<root:
return False
left=True
if i>0:
left = self.VerifySquenceOfBST(sequence[:i])
right=True
if i <lens-1:
right = self.VerifySquenceOfBST(sequence[i:-1])
return left and right

最新文章

  1. C# Sandboxer
  2. JRE下的rt.jar、tools.jar
  3. MFC重绘函数:InvalidateRect(), Invalidate()和UpdateWindow()
  4. /var/cache/apt/archives/lock - open
  5. 几个DOM属性
  6. JavaSE思维导图(五)
  7. java设计模式自我总结---适配器模式
  8. react学习过程中遇到的错误记录
  9. java_oop_接口
  10. JAVA基础部分复习(一、8中基础类型,以及String相关内容)
  11. PHP连接数据库(mysql)
  12. 原生js--应用程序存储和离线web应用
  13. hadoop kafka install multi-borker (7)
  14. win10系统如何进入BIOS模式
  15. &#39;webpack&#39; 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  16. tensorflow模型持久化保存和加载--深度学习-神经网络
  17. ADO编程:error C2011: &#39;LockTypeEnum&#39; : &#39;enum&#39; type redefinition
  18. MySQL查询笔试综合题练习
  19. Mesa (computer graphics)
  20. Android之——经常使用手机号码功能

热门文章

  1. Mysql5.7.26解压版(免安装版)简单快速配置步骤,5分钟搞定(win10-64位系统)
  2. windows下开启远程连接Mysql
  3. java jdk原生的http请求工具类
  4. [CSP-S模拟测试]:Smooth(数学)
  5. 说下Java堆空间结构,及常用的jvm内存分析命令和工具
  6. Linux shell - cut命令用法(转载)
  7. Oracle诊断:drop table失败[转]
  8. Centos7系统备份与恢复教程
  9. db2表结构导出导入,数据库备份
  10. ubuntu 安汉google浏览器