微软面试100题系列---判断整数序列是否为二叉查找树的后序遍历
来源:互联网 发布:windows 98下载 编辑:程序博客网 时间:2024/06/02 19:43
题目
判断整数序列是否为二叉查找树的后序遍历;
实现
思路:<递归>
- 后序遍历结果的最后一个元素是根;
- 跟元素的左子树全部小于根;
根元素的右子树全部大于根;
==》先得到根;从前遍历得到左右子树的分界点,判断分界点后的元素是否都大于根;再递归判断左右子树;
public class Num9 { public static void main(String[] args) { int[] a={7,4,6,5}; if(isPostOrderReult(a,0,a.length-1)){ System.out.println("yes"); }else{ System.out.println("no"); } } public static boolean isPostOrderReult(int[] a,int s,int e){ if( s==e){ return true; } int root=a[e]; int i=s; for(;i<e;i++){ //must <root if(a[i]>root){ break; } } int j=i; for(;j<e-1;j++){ //must>root if(a[j]<root){ return false; } } boolean r_res=true,l_res=true; if(i>0){ l_res=isPostOrderReult(a,s,i-1); } if(i<e-1){ r_res=isPostOrderReult(a,i,e-1); } return (r_res&&l_res); }}
0 0
- 微软面试100题系列---判断整数序列是否为二叉查找树的后序遍历
- 判断整数序列是否为二叉查找树的后序遍历结果
- 判断整数序列是否是二叉查找树的后序遍历
- 微软面试100之9 判断整数序列是不是二元查找树的后序遍历结果
- 面试100题:9.判断整数序列是不是二元查找树的后序遍历结果
- 面试100题:9.判断整数序列是不是二元查找树的后序遍历结果
- 微软算法100道题-----判断整数序列是不是二元查找树的后序遍历结果
- 面试100题系列之12判断序列是不是查找二叉树的后序编列
- 微软100题第9题(判断整数序列是不是二元查找树的后序遍历结果)
- 二叉树——判断整数序列是否为二叉搜索树的后序序列
- 微软面试之9题 判断整数序列是不是二元查找树的后续遍历结果
- 【从零单排之微软面试100题系列】09二叉查找树的后序遍历
- 7. 微软面试题:判断整数序列是不是二元查找树的后序遍历结果
- 二叉树系列7:判断整数序列是不是二叉搜索树的后序遍历结果
- 判断二叉搜索树是否为后序遍历序列
- 判断整数序列是不是某二叉查找树的后序遍历的结果
- 判断整数序列是不是二叉查找树的后序遍历结果
- 判断整数序列是不是二叉查找树(BST)的后序遍历结果
- POJ 2823 Sliding Window <速度特快 单调队列>
- 图的最短路径问题
- 打印蛇形矩阵
- ListView中嵌入button,点击监听无响应的解决方案
- Git Commit前取消add 操作(利用git reset操作)
- 微软面试100题系列---判断整数序列是否为二叉查找树的后序遍历
- MFC ShowLog(CString strLog)
- C语言_统计本件中各长度字符串出现的次数
- Linux 下编译安装软件,找不到共享库 xx.so 的解决办法
- Effective Modern C++ 条款26 避免对通用引用进行重载
- 仿实例开发----一个简单的视频播放器
- oracle 新增表空间的几种方法
- C/C++分配内存空间
- NSMutableArray 排序以及NSComparator和NSSortOptions的解释说明