判断一个数组是否是二叉搜索树的后序遍历(java)
来源:互联网 发布:淘宝买岛国片怎么搜索 编辑:程序博客网 时间:2024/06/05 17:43
分析:
代码:
package Tree;public class VerifyBST { //第一个元素下标low,最后一个元素下标high public static boolean verifySequenceBST(int[] sequence,int low,int high){ if(sequence == null || high-low <0){ return false; } int root = sequence[high]; int i; //在二叉搜索树左子数的结点小于根结点 for(i=low;i<high;i++){ //如果值大于根结点,停止,说明这个下标开始为右子树 if(sequence[i]>root){ break; } } //i=3 //在二叉搜索树右子数的结点大于根结点 for (int j=i; j < high; j++) { if (sequence[j]<root) { return false; } } //判断左子树是不是二叉搜索数 boolean left = true; if(i>0){ left = verifySequenceBST(sequence,0,i-1); } //判断右子树是不是二叉搜索数 boolean right = true; if(i<high){ right = verifySequenceBST(sequence,i+1,high); } return (left&&right); } public static void main(String[] args) { int[] arr = {5,7,6,9,11,10,8}; boolean flag =verifySequenceBST(arr, 0, arr.length-1); System.out.println(flag); int[] arr1 = {7,4,6,5}; boolean flag1 = verifySequenceBST(arr1, 0, arr1.length-1); System.out.println(flag1); }}
运行结果:
truefalse
0 0
- 判断一个数组是否是二叉搜索树的后序遍历(java)
- 判断一个数组是否是某个二叉树搜索树的后序遍历
- 判断数组是否是二叉搜索树的后序遍历序列 JAVA实现
- Java 判断一个序列是否是搜索二叉树的后序遍历结果
- 剑指offer:二叉搜索树的后序遍历序列(判断一个数组是否是二叉搜索树的后续遍历序列)
- 判断是否是二叉搜索树的后序遍历
- 判断数组是否是搜索二叉树的后序遍历
- 关于判断某一数组内容是否为一个二叉搜索树的后序遍历结果
- 二叉搜索树的后序遍历序列序列判断是否是二叉搜索树
- 检查一个后序遍历是否是搜索二叉树
- Interview----判断整数序列是否是二叉搜索树的后序遍历结果
- 24 - 判断是否是二叉搜索树的后序遍历序列
- 【算法】判断是否是二叉搜索树的后序遍历序列
- 判断给定的数组是否为二叉搜索树的后序遍历序列
- 判断是否为二叉搜索树的后序遍历
- 判断是否二叉搜索树的后序遍历
- java实现输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- Java实现:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。
- 字符统计
- [].join.call(arguments,"\n")
- java Tomcat数据库连接池
- dbca.sh
- Zend framework2 - 在视图助手中设置元素样式,对所有元素,如multiCheckbox或错误信息加上自定义样式
- 判断一个数组是否是二叉搜索树的后序遍历(java)
- PHP PDO select语句结果行数计算
- 转--大数据学习路线
- Java多线程 synchronized锁的应用
- 基于js的网页计算器实现
- hdu 3783 ZOJ
- spring框架知识
- Core Animation研究系列 : CATransform3D
- 黑马程序员------2015.6.17java基础--异常--package---线程