剑指offer 之 二叉搜索树的后序遍历序列
来源:互联网 发布:新南威尔士奖学金知乎 编辑:程序博客网 时间:2024/06/06 18:24
# coding:utf-8'''面试24:二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出true,否则输出false。假设输入的数组的任意两个数字都互不相同。'''class Solution: def VerifySquenceOfBST(self, sequence): # write code here if not sequence: return False length = len(sequence) root = sequence[-1] # 在二叉搜索树中左子树的节点小于根节点 for i in range(length): if sequence[i] > root: break # 在二叉搜索树中右子树的节点大于根节点 for j in range(i, length): if sequence[j] < root: return False # 判断左子树是不是二叉树 left = True if i > 0: left = self.VerifySquenceOfBST(sequence[:i]) right = True if j < length-1: right = self.VerifySquenceOfBST(sequence[j:]) return left and rightarray = [5, 7, 6, 9, 11, 10, 8]array2 = [4, 6, 7, 1, 5]array3 = [1, 2, 3, 4, 5]S = Solution()print(S.VerifySquenceOfBST(array))print(S.VerifySquenceOfBST(array2))print(S.VerifySquenceOfBST(array3))
阅读全文
0 0
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指Offer-->二叉搜索树的后序遍历序列
- 《剑指offer》二叉搜索树的后序遍历序列
- 【剑指Offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指 offer:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列||剑指offer
- 剑指offer-二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- [剑指offer]二叉搜索树的后序遍历序列
- 《剑指offer》-二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- js中的target使用
- PAT basic 1010
- runScene
- PAT basic 1011
- python 时间处理
- 剑指offer 之 二叉搜索树的后序遍历序列
- WAV和PCM数据分析
- PASCAL VOC 数据集格式
- 获取/设置key的值,相当于Cocos2d-x的UserDefault
- MarkDown工具编辑的一些声明
- xynuoj NOIP2007普及组第2题 纪念品分组 酒馆浪人的博客
- 总结一些在acm中常用的小技巧,小函数
- Mac版mysql修改字符编码问题
- opencv中统计时间的函数。