【笔试】41、二叉搜索树的后序遍历列
2015-09-04 09:52
239 查看
/**************************************************************************************** *题目:二叉搜索树的后序遍历列 * 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。 *时间:2015年9月3日10:20:26/2015年9月4日09:39:22 *文件:SquenceOfBST.java *作者:cutter_point ****************************************************************************************/ package bishi.Offer50.y2015.m09.d03; import org.junit.Test; public class SquenceOfBST { public boolean verifySequenceOfBST(int sequence[], int length) { //鲁棒性 if(sequence == null) return false; //设置我们得根元素 int root = sequence[length - 1]; int i = 0; //遍历左边的子树 for(; i < length - 1; ++i) { if(sequence[i] > root) { //找到第一个比根大的元素 break; }//if }//for //查找右子树 int j = i; for(; j < length - 1; ++j) { if(sequence[j] < root) { return false; }//if }//for //递归左右子树,当左右OK的时候,我们就可以饭后成功 boolean left = true, right = true; if(i > 0) { left = verifySequenceOfBST(sequence, i); }//if if(i < length - 1) { right = verifySequenceOfBST(sequence, length - i - 1); }//if return left && right; } @Test public void test() { int test1[] = {5,7,6,9,11,10,8}; System.out.println(verifySequenceOfBST(test1, test1.length)); } }
相关文章推荐
- 我是菜鸟:concurrentHashMap实现原理
- 推送机制
- activemq 入门
- Android WakeLock使用方法
- 无法解析的外部符号__imp__AlphaBlend@44
- Android实战简易教程-第五十一枪(ListView实现子控件的动态显示和隐藏、checkbox全选和反选)
- 根据传入的两个参数,做分隔更新数据库中的值。
- 剑指offer:二维数组中的查找
- linux find grep组合使用
- 几种进程间的通信方式
- python_基础02
- 位操作基础篇之位操作全面总结
- 配置Tomcat使用https协议(配置SSL协议)
- 西布尔是一家定位独特、垂直整合的天然气加工及石化公司
- hiho一下 第六十一周 题目1 : Combination Lock 线段树 成段更新
- black hat python
- 9月份的事
- TCP/IP协议原理与应用笔记02:断点续传
- 设计模式c++(一)----工厂模式
- HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)