[剑指offer] 二叉搜索树的后序遍历序列
二叉搜索树的后序遍历序列 P157
题目:输入一个数组,判断这个数组是不是一个二叉搜索树的后序遍历的结果。
solution:我们知道后序遍历序列的最后一个item是根节点,如果确实是二叉搜索树的后序遍历结果,那么在[0,N-2]中一定存在一个位置k,满足:
[0,K]的元素都是小于item的,[K+1,N-1]的元素都是大于item的。如果不存在这样的节点,那么说明不是二叉搜索树的后序遍历的结果。
isValid-postorder-travel(int [] nums,int start,int end):
if(start>=end) return true;
int mid = nums[end];
int index = start;
while(index<=end&&nums[index]<mid) index++;
int midindex = index;
while(index<=end&&nums[index]>mid) index++;
if(nums[index]<=mid) return false;
boolean res1 = isValid-postorder-travel(nums,start,midindex-1);
if(res1==false) return false;
boolean res2 = isValid-postorder-travel(nums,midindex,end-1);
return res2;
转载于:https://www.cnblogs.com/deepblueme/p/4781838.html
[剑指offer] 二叉搜索树的后序遍历序列相关推荐
- C#刷剑指Offer | 二叉搜索树的后序遍历序列
[C#刷题]| 作者 / Edison Zhou 这是EdisonTalk的第289篇原创内容 我们来用之前学到的数据结构知识来刷<剑指Offer>的一些核心题目(精选了其中30+道题目) ...
- 剑指offer——二叉搜索树的后序遍历序列
二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 这里遇到的问题就是,传递的子数组怎 ...
- [剑指offer]二叉搜索树的后序遍历数列
[剑指offer]二叉搜索树的后序遍历数列 剑指offer-二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 fals ...
- 剑指offer 二叉搜索树的后序遍历
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- 剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列
剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列2013-11-23 03:16 题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出 ...
- 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列
[LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 文章目录 [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 package offer;public cl ...
- 剑指offer——面试题24:二叉搜索树的后序遍历序列
剑指offer--面试题24:二叉搜索树的后序遍历序列 Solution1: 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二 ...
- 剑指offer之二叉搜索树的后序遍历序列
剑指offer之二叉搜索树的后序遍历序列 欢迎关注作者博客 简书传送门 题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个 ...
- 剑指 Offer 33. 二叉搜索树的后序遍历序列
剑指 Offer 33. 二叉搜索树的后序遍历序列 原始题目链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian- ...
最新文章
- 【Java】牛客网 删除链表中重复的结点
- python如何读取数据集_如何在Python中读取通用数据格式(CDF)
- CMPB 2021|U-Net:又一魔改U-Net应用于腹部肝脏分割任务!
- 0基础学python难吗-0基础学武汉Python开发课程有多难?该怎么入门?
- 1031 Hello World for U (20 分)【难度: 一般 / 知识点: 找规律】
- 户外私密Party| 在大峡谷中聊点平时不能聊的产品干货(报名结束)
- leetcode60.第k个排列java题解
- SpringBoot(入门)
- 力扣226-翻转二叉树(C++,附思路)
- 二叉树后序遍历_二叉树后序遍历非递归实现
- MANIFEST.MF
- self计算机语言,python中self在函数中如何使用
- 23-新建maven 项目
- 【虎牙直播源】浏览器抓取真实直播源地址(纯前端JS解析源码)
- Word转PDF表格边框横线丢失
- Guice集成Properties配置
- z变换判断稳定性和因果性_试题库 - 7:z变换 -
- 7个用于开源网络情报渗透测试工作的热门OSINT工具
- Open Street Map—2022年道路数据
- uni-app 从本地项目选择图片或使用相机拍照及图片预览
热门文章
- 一个web蠕虫的简单实现
- 090613 今天做了一个软件没搞定的RAID5
- 谈论源码_6,000名自由职业者谈论金​​钱,幸福和对未来的希望
- (C++)判断一个序列是non-increasing/non-decreasing还是两者都不的两个方法
- UI培训分享:如何提升自己的UI设计能力
- 分享一个电视节目API接口PHP调用代码
- [20180412]订阅+镜像切换
- JavaEE 银联支付之手机控件支付-消费类交易
- Java EE 开发环境搭建
- Oracle与JCP执行委员会分享了他们的Java EE策略