算法-剑指offer-二叉搜索树的后序遍历序列
来源:互联网 发布:油田开发数据 编辑:程序博客网 时间:2024/06/05 00:13
/*
在后序遍历得到的序列中, 最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分:
第一部分是左子树结点的值,它们都比根结点的值小: 第二部分是右子树结点的值,它们都比根结点的值大。
*/
public class Solution {
public boolean VerifySquenceOfBST(int [] sequence) {
if(sequence.length==0)
return false;
return digui(sequence, 0, sequence.length-1);
}
public boolean digui(int[] sequence,int star,int end){
if(star>=end)
return true;
//先判断左边
int i = 0;
for(;i< end ; i++){
if(sequence[i] > sequence[end])
break;//判断直到左边大于根,这时候i的位置作为左子树的根,需要递归
}
//再判断右边
int j = i;
for(;j<end;j++){
if(sequence[j]<sequence[end])//如果有
return false;
}
//遍历
return digui(sequence,star,i-1) && digui(sequence, i, end-1);
}
}
在后序遍历得到的序列中, 最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分:
第一部分是左子树结点的值,它们都比根结点的值小: 第二部分是右子树结点的值,它们都比根结点的值大。
*/
public class Solution {
public boolean VerifySquenceOfBST(int [] sequence) {
if(sequence.length==0)
return false;
return digui(sequence, 0, sequence.length-1);
}
public boolean digui(int[] sequence,int star,int end){
if(star>=end)
return true;
//先判断左边
int i = 0;
for(;i< end ; i++){
if(sequence[i] > sequence[end])
break;//判断直到左边大于根,这时候i的位置作为左子树的根,需要递归
}
//再判断右边
int j = i;
for(;j<end;j++){
if(sequence[j]<sequence[end])//如果有
return false;
}
//遍历
return digui(sequence,star,i-1) && digui(sequence, i, end-1);
}
}
阅读全文
1 0
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指Offer-->二叉搜索树的后序遍历序列
- 《剑指offer》二叉搜索树的后序遍历序列
- 【剑指Offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指 offer:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列||剑指offer
- 剑指offer-二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- [剑指offer]二叉搜索树的后序遍历序列
- 《剑指offer》-二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- androidStudio打包后百度地图出不来的问题
- PUTTY中永久更改字体大小
- 史上最全greendao源码解析
- el 表达式
- MVP 设计模式理解,实战理解MVP
- 算法-剑指offer-二叉搜索树的后序遍历序列
- 配置ssm的错误整合
- mysql 严格模式 Strict Mode
- 在centos阿里云服务器上配置apache+php+mysql环境
- Ajax 简介
- strucs2拦截器有什么作用
- Python小练习
- photoshop制作gif去掉杂色
- CLHE 算法优化 视频处理 在VS上速度达到15ms