24.二叉搜索树的后序遍历序列

原创 2015年07月08日 22:20:03




bool VerifySquenceOfBST(int sequence[], int length)
{
if (sequence == NULL || length <= 0)
return false;
int root = sequence[length - 1];
//在二叉搜索树中左子树的结点小于根结点
int i = 0;
for (; i < length - 1; ++i)
{
if (sequence[i] > root)
break;
}
//在二叉搜索树中右子树的结点大于根结点
int j = i;
for (; j < length - 1; ++j)
{
if (sequence[j] < root)
return false;
}
//判断左子树是不是二叉搜索树
bool left = true;
if (i>0)
left = VerifySquenceOfBST(sequence, i);
//判断右子树是不是二叉搜索树
bool right = true;
if (i < length - 1)
right = VerifySquenceOfBST(sequence + i, length - i - 1);
return (left&&right);
}







版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

剑指offer-面试题24.二叉搜索树的后序遍历序列

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序,如果是,则返回true,如果不是则 返回false,假定输入的数组中任意两个数都不相等。   此题目我们以5,7,6,9,11,10,...

二叉搜索树的后序遍历序列Java

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true, 否则返回false。假设输入的数组的任意两个数字都互不相同。 思路:在后序遍历得到的序列中,最后一个数字是...

【剑指Offer】二叉搜索树的后序遍历序列

问题描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。背景知识:二叉搜索树(Binary Search T...

剑指offer:二叉搜索树的后序遍历序列(java)

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。     例如输入数组{5,7,6,9,11,...

《剑指offer》二叉搜索树的后序遍历序列

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/p...

二叉搜索树的后序遍历序列

给定一个序列,判断该序列是不是二叉搜索树的后序遍历序列 二叉搜索树定义: 二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordere...

剑指offer 面试题24 二叉搜索树的后序遍历序列

剑指offer 面试题24 二叉搜索树的后序遍历序列 题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 如果是则返回 true,否则返回 false。 假...

算法复习:二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解题思路举个栗子,就可以发现特点首先看看这个图对应的后...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)