二叉搜索树的后序遍历序列
来源:互联网 发布:2016最新淘宝网店书籍 编辑:程序博客网 时间:2024/06/06 02:21
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
思路:最后一个元素是根节点,以根结点为标志,从前往后找到第一个比它大的数字,记录下这个位置作为中间位置。继续往下比,如果后边的元素比它小,就返回false。中间位置前是左子树,后面位置是右子树,递归遍历左右子树即可。
public class Solution { public boolean VerifySquenceOfBST(int [] sequence) { if(sequence.length == 0) return false; return judgeTree(0,sequence.length-1,sequence); } public boolean judgeTree(int start,int end,int[] sequence){ if(start >= end) return true; int rootValue = sequence[end]; int mid = end; for(int i = start ; i < end ; i++){ if(sequence[i] > rootValue){ mid = i; break; } } for(int i = mid; i < end;i++){ if(sequence[i] < rootValue) return false; } return judgeTree(start,mid -1,sequence) && judgeTree(mid,end -1,sequence); }}
阅读全文
0 0
- 二叉树------二叉搜索树的后序遍历序列
- 【树5】二叉搜索树的后序遍历序列
- 题目10:二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 题目1367:二叉搜索树的后序遍历序列
- 1367:二叉搜索树的后序遍历序列 @jobdu
- 二叉搜索树的后序遍历序列
- Q24:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 题目1367:二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- oracle中的左右外连接
- 20个高级Java面试题汇总
- 简易使用Xshell5查看生产日志
- linux led驱动例程(杂项设备)
- SelectionSort
- 二叉搜索树的后序遍历序列
- IOS仿最新版爱奇异loading动画
- PAT 甲级 1020. Tree Traversals (25)
- json和xml的系统比较
- 天佑回应杨幂事件 MC天佑:只是简单的目的帮助毛不易晋级
- 大明A+B(JAVA大数)
- 关于产生随机数函数
- WPF 图片无法显示……关于Application及SiteOfOrigin的路径问题
- Linux应用--日志定时清理