二叉搜索树的后序遍历
来源:互联网 发布:python split去掉空格 编辑:程序博客网 时间:2024/06/04 08:41
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
class Solution {
public:bool VerifySquenceOfBST(vector<int> sequence) {
// 首先你得知道什么是二叉搜索树
//2017 -0-6-24 周六
//若有左子树,则左子树所有的点都小于根节点
//若右子树,则右子树所有点都大于根节点。
////构建二叉搜索树。
//思路:最后一个是根结点
if (sequence.size()==0) return false;
//不为空怎么处理呢
//length
int len=sequence.size();
vector<int> Vmin;
vector<int> Vmax;
bool res=false;
//
int root=sequence[len-1];
int i,j;
//搜索左边吗?len-1
for(i=0;i<len-1;i++)
{ //找到root位置
if(root<sequence[i])
break;
Vmin.push_back(sequence[i]);
}
//保存中间位置
// int mid=i
//搜索右边len-1
for( j=i;j<len-1;j++)
{
if(root>sequence[j])
return false;
Vmax.push_back(sequence[j]);
}
if(j==len-1) res=true;
//符合,处理左子树,没有给大小
if(Vmin.size()&&res==true)
{
res=VerifySquenceOfBST(Vmin);
}
if(Vmax.size()&&res==true)
{
res=VerifySquenceOfBST(Vmax);
}
return res;
}
};
阅读全文
0 0
- 二叉搜索树的后序遍历
- 二叉搜索树的后序遍历
- 二叉搜索树的后序遍历
- 二叉搜索树的后序遍历
- 二叉搜索树的后序遍历
- 二叉搜索树的后序遍历
- 二叉树------二叉搜索树的后序遍历序列
- 【树5】二叉搜索树的后序遍历序列
- 题目10:二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 题目1367:二叉搜索树的后序遍历序列
- 1367:二叉搜索树的后序遍历序列 @jobdu
- 二叉搜索树的后序遍历序列
- Q24:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- POJ 2308 Dearboy's Puzzle 笔记
- 栈的链式存储结构
- LeetCode@Tree_606_Construct_String_from_Binary_Tree
- 【旧资料整理】php 变量前面加@的含意
- OptionsMenu创建使用
- 二叉搜索树的后序遍历
- 假设复制源目录 为 web ,目标目录为oj。怎样才能将web下所有文件复制到oj下了 -rf 不删除 别名 alias
- 邻接表
- 【旧资料整理】php mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc,msql_fetch_object的区别
- iptables详解
- 欢迎使用CSDN-markdown编辑器
- 【旧资料整理】C++ 关于读入文件出错
- 随机森林算法(有监督学习)
- ssm框架整合及Rest风格接口实现