二叉搜索树的后序遍历序列(剑指offer)
2016-06-24 11:55
483 查看
题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
public class Solution { public boolean VerifySquenceOfBST(int [] sequence) { if(sequence==null||sequence.length==0) return false; else return BST(sequence); } public boolean BST(int [] sequence) { if(sequence.length==1||sequence.length==2||sequence.length==0) return true; int i=0,j=0,last=sequence[sequence.length-1]; while(i<=(sequence.length-1)&&sequence[i]<last) i++; j=i; while(i<=(sequence.length-1)&&sequence[i]>last) i++; if(i!=sequence.length-1) return false; int[] l=new int[j]; int[] r=new int[sequence.length-j-1]; copy(l,sequence,0,j); copy(r,sequence,j,sequence.length-1); return BST(l)&& BST(r); } public void copy(int[] ret,int[] left,int l,int r){ for(int i=l;i<r;i++) ret[i-l]=left[i]; } }
相关文章推荐
- cursor改变鼠标样式
- js对象引用传递
- position里absolute和relative属性浅析
- CSS+DIV:父DIV相对定位+子DIV绝对定位
- JSON格式化
- 如何编译bootstrap-4.0.0源码
- 不用jQuery做一个简单无交互的JavaScript幻灯片1
- 返回值是JSON的阿贾克斯方法
- bootstrap 模态框提交按钮之后就关闭模态框
- jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
- jquery表单插件Autotab使用方法详解
- js中window.open()的所有参数详细解析
- datagrid表格内容溢出用"..."处理的css
- bootstrapvalidator+bootstrap-select select无法校验问题解决方法
- 剑指offer题解 翻转单词顺序列
- nodejs 学习
- jQuery插件cxSelect多级联动下拉菜单实例解析
- 使用bootstrapvalidator的remote验证经验
- Javascript 严格模式详解
- Sublime Text 3 配置