剑指offer刷题之java实现的二叉搜索树的后序遍历序列
2015-08-09 19:19
676 查看
package mine; /** * * @author 毛二 * @data 2015-8-9 * @comments 二叉搜索树的后序遍历序列 * 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 * 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 */ public class PostSeqOfTwoSearchTree { public static boolean VerifySquenceOfBST(int [] sequence) { //边界值判断时,不光要判断数组是否为null,还有可能长度为零。 if(sequence == null || sequence.length == 0) return false; return oneVerifySquenceOfBST(sequence,0,sequence.length-1); } public static boolean oneVerifySquenceOfBST(int[] a,int low,int high){ boolean f = true; int l = low,h = high-1; System.out.println("start: "+"l = "+l+" h = "+h); if(low <high){ while(l<h && a[l]<a[high]) l++; while(l<h && a[h]>a[high]) h--; System.out.println("l = "+l+" h = "+h); if(l==h){ return oneVerifySquenceOfBST(a,low,l-1)&&oneVerifySquenceOfBST(a,l,high-1); } else { f = false; } } return f; } public static void main(String[] args) { int[] a ={};//= null; //{7,4,6,5}; //{5,7,6,9,11,10,8}; System.out.println(VerifySquenceOfBST(a)); } }
相关文章推荐
- Caffe源码(一):math_functions 分析
- AngularJS初学习
- Python-Selenium2做Web自动化测试(12)-上传文件、下载文件、调用 JavaScript、控制浏览器滚动条
- jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
- jquery 解析返回的xml和json
- POJ 2492 A Bug's Life(虫虫危机)
- 《2015 html5 iweb 峰会观会后感》
- javascript中对变量类型的判断方法
- js cookie函数
- @RenderBody、@RenderSection、@RenderPage、Html.RenderPartial、Html.RenderAction的作用和区别
- poj2492 A Bug's Life 并查集
- 廖雪峰javascrip学习笔记<jQuery>
- Duktape:一个新的小巧的超精简可嵌入式JavaScript引擎
- angular-fullstack test
- Js获取当前日期时间及其它操作
- javascript------【八】
- JavaScript 注释规范
- js闭包总结
- js删除一个div的方法
- JSP执行过程详解