剑指offer 二叉搜索树的后序遍历序列
来源:互联网 发布:c语言绝对值 编辑:程序博客网 时间:2024/05/17 23:20
题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
public boolean VerifySquenceOfBST(int[] sequence) { return getResult(sequence,sequence.length); } public boolean getResult(int[] sequence, int lenght) { if (sequence == null || lenght <= 0) { return false; } int root = sequence[lenght - 1]; int i= 0; //在二叉搜索树中左子树的结点小于根结点 for (;i < lenght - 1;++i) { if (sequence[i] > root) { break; } } int j =i; //在二叉搜索树中右子树的结点大于根结点 for (;j<lenght-1;++j){ if (sequence[j] <root) { return false; } } //判断左子树是不是二叉搜索树 boolean left = true; if (i>0) { left = getResult(sequence,i); } //判断右子树是不是二叉搜索树 boolean right = true; if (i < lenght -1) { System.arraycopy(sequence,i,sequence,0,lenght-i); right = getResult(sequence,lenght-i-1); } return (left && right); }
0 0
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指Offer-->二叉搜索树的后序遍历序列
- 《剑指offer》二叉搜索树的后序遍历序列
- 【剑指Offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指 offer:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列||剑指offer
- 剑指offer-二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- [剑指offer]二叉搜索树的后序遍历序列
- 《剑指offer》-二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- USB驱动开发(五)之程序设计
- 自定义带闪动和多背景的textview
- Android 颜色渲染(九) PorterDuff及Xfermode详解
- FloatingActionButton&Snackbar
- 软件安装
- 剑指offer 二叉搜索树的后序遍历序列
- sizeof 的用法(初学者)
- Android视频播放之MediaPlayer
- 通过代码实例来说明spark api mapPartitions和mapPartitionsWithIndex的使用
- Bzoj 4515 线段树 SDOI2016 游戏 Game
- MySQL数据库插入乱码
- reactor/proactor模型简介
- C命令行参数存入argv数组的规则:
- js三大流程控制