java 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
来源:互联网 发布:原创诗歌知乎 编辑:程序博客网 时间:2024/05/15 12:27
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。
如果是返回true,否则返回false。
例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:
8
/ /
6 10
/ / / /
5 7 9 11
因此返回true。
如果是返回true,否则返回false。
例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:
8
/ /
6 10
/ / / /
5 7 9 11
因此返回true。
如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。
最后一个元素为根,左子树都比根小,右子树都比根大,递归判断。右子树有比根小的元素则返回false
public class IsPostorderResult {public boolean isPostorderResult(int[] a,int n){return helper(a,0,n-1);}private boolean helper(int[] a,int s,int e){if(a.length==0||s>e)return false;if(s==e) return true;int root=a[e];int i;for(i=s;i<e;i++){//判断左子树if(a[i]>root){break;}}int right=i;if(!helper(a, right, e-1)){//右子树 返回false的话return false;}for(;i<e;i++){//判断右子树if(a[i]<root){return false;}}return helper(a, s, right-1);}public static void main(String[] args) {IsPostorderResult iResult=new IsPostorderResult();int a[]={5,7,6,9,11,10,8};boolean flag=iResult.isPostorderResult(a, a.length);System.out.println(flag);a=new int[]{7,4,6,5};flag=iResult.isPostorderResult(a, a.length);System.out.println(flag);}}
- java 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 【数据结构】【输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果】
- 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 每天学习一算法系列(9) (输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果)
- java实现输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- Java实现:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。
- 判断该数组是不是某二元查找树的后序遍历的结果
- 判断该数组是不是某二元查找树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- 剑指offer_输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- 每天一算法(判断该数组是不是某二元查找树的后序遍历的结果)
- 判断某数组是不是某二元查找树的后序遍历的结果
- 判断一个数组是不是二元查找树后序遍历的结果
- java 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某个二叉搜索树的前序遍历结果
- boost发送和接受udp报文
- VC连接MySQL
- 《Windows内核编程》の基本汇编指令 .
- 黑客必备,瑞士军刀-nc 使用(一)
- 类型参数的类型推断
- java 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 图像解码之三:giflib解码gif图片
- 嵌入式linux工程师面试题目C语言基础部分 (2
- hdu 2612 Find a way
- WinFrom 登录窗体关闭 主窗体打开 问题
- Oracle rowid详解
- 武汉阿里巴巴2013校园招聘笔试题
- Html
- 在vs2008中编译(调试)eMule0.50a以及veryCD版的easyMule