剑指offer—二叉搜索树的后序遍历序列
来源:互联网 发布:证件拍照软件下载 编辑:程序博客网 时间:2024/06/06 13:22
题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
public class Solution { boolean res = true; public boolean VerifySquenceOfBST(int [] sequence) { int length = sequence.length; if(sequence==null || length<=0) return false; if(length==1 || length==2) return true; VerifySquenceOfBSTCore(sequence,0,length-1); return res; } public void VerifySquenceOfBSTCore(int[] nums, int start, int end){ if(start>=end) return; int root = nums[end]; int i = start; while(i<end && nums[i]<root){ i++; } for(int j=i; j<end; j++){ if(nums[j]<root){ res = false; break; } } VerifySquenceOfBSTCore(nums,start,i-1); VerifySquenceOfBSTCore(nums,i+1,end-1); }}
思路:二叉搜索树的后序遍历序列最后一个节点是根节点,比根节点小的是左子树,比根节点大的是右子树,递归遍历是不是每一个左子树的节点都比根节点小而每一个右子树的节点都比根节点大
阅读全文
0 0
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指Offer-->二叉搜索树的后序遍历序列
- 《剑指offer》二叉搜索树的后序遍历序列
- 【剑指Offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指 offer:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列||剑指offer
- 剑指offer-二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- [剑指offer]二叉搜索树的后序遍历序列
- 《剑指offer》-二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 浮点数进位制转换器
- UUID的使用
- Eclipse创建Web项目
- C语言算术运算符
- 上小班研讨课的感受
- 剑指offer—二叉搜索树的后序遍历序列
- 如何部署高可用的Redis集群架构
- 番外篇:生产要素最适投入分析(Optimum input of factors)
- Calcite-[3]-Adapters
- wam ros 仿真?
- 【计蒜客】「2017 计蒜之道 复赛」A.阿里云秘钥池 数位DP+莫比乌斯函数
- cs231n笔记(6)--反向求导
- CPU的设计原理,数据总线和地址总线
- 【Shiro权限管理】17.Shiro权限注解