二叉搜索树
来源:互联网 发布:常见的时间序列算法 编辑:程序博客网 时间:2024/05/21 04:15
题目描述:
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
解法:
递归,因为sequence二叉搜索树的后序遍历,所以sequence除了最后一位可以分为两段,前一段全部小于最后一位,后一段大于它。
class Solution: def VerifySquenceOfBST(self, sequence): if not sequence: return False return self.judge(sequence) # write code here def judge(self, sequence): if len(sequence) <= 1: return True flag = 0 while flag <= len(sequence) - 2: if sequence[flag] > sequence[-1]: break flag += 1 for i in range(flag, len(sequence) - 1): if sequence[i] < sequence[-1]: return False return self.judge(sequence[:flag]) and self.judge(sequence[flag:-1])
阅读全文
0 0
- 【二叉搜索数】HDU3791二叉搜索树
- 二叉树--二叉搜索树
- 【二叉树】二叉搜索树
- 二叉树- 二叉搜索树
- 【搜索树】二叉搜索树
- 二叉搜索树BSTree
- 二叉搜索树
- 二叉搜索树
- 二叉搜索树
- 最优二叉搜索树
- 二叉搜索树
- 二叉搜索树
- HDOJ3791 二叉搜索树
- 二叉查找树搜索
- 二叉搜索树
- 二叉搜索树
- BST 二叉搜索树
- 二叉搜索树
- activity主窗口与软键盘的交互模式 android:windowSoftInputMode属性
- 转载注意灰犀牛
- JavaScript正则表达式:
- 在win7安装MySQL5.7(教程)
- 一些简单的小程序_7——C语言篇
- 二叉搜索树
- 何恺明团队推出Mask^X R-CNN,将实例分割扩展到3000类
- iOS 定时器
- 秒杀系统架构优化思路
- C# 含runat="server"属性 select控件的value和text赋值(实际值和显示文本)
- activiti使用
- 《kubernetes-1.8.0》14-examples-javaweb-tomcat-sidecar
- numpy简易教程
- ubuntu server17.10无线网络连接