剑指offer面试题24:二叉搜索树的后序遍历序列
来源:互联网 发布:淘宝店铺上架宝贝软件 编辑:程序博客网 时间:2024/05/21 18:39
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都不相同。
思路:数组中左边为小于根节点的部分,右边大于根节点。
#include <iostream>using namespace std;bool isSearchTree(int *numbers, int left, int right) { if (numbers == NULL || right < left) return false; int i = left; for (; i < right; ++i) { if (numbers[i] > numbers[right]) break; } int mid = i - 1; for (; i < right; ++i) { if (numbers[i] < numbers[right]) return false; } bool result = true; if (mid >= left) result = isSearchTree(numbers, left, mid); if (mid + 1 < right) result = isSearchTree(numbers, mid + 1, right - 1); return result;}int main() { int a[] = {5, 7, 6, 9, 11, 10, 8}; int *numbers = a; bool result = isSearchTree(numbers, 0, 6); cout << result << endl; return 0;}
0 0
- [剑指offer][面试题24]二叉搜索树的后序遍历序列
- 【剑指offer】面试题24:二叉搜索树的后序遍历序列
- 剑指Offer:面试题24 二叉搜索树的后序遍历序列
- 《剑指Offer》面试题24:二叉搜索树的后序遍历序列
- 剑指offer 面试题24—二叉搜索树的后序遍历序列
- 剑指offer--面试题24:二叉搜索树的后序遍历序列--Java实现
- 【剑指Offer学习】【面试题24:二叉搜索树的后序遍历序列】
- 剑指Offer面试题24(Java版):二叉搜索树的后序遍历序列
- 剑指offer面试题24-二叉搜索树的后序遍历序列
- 剑指offer-面试题24:二叉搜索树的后序遍历序列
- 剑指offer之面试题24:二叉搜索树的后序遍历序列
- 剑指Offer----面试题24:二叉搜索树的后序遍历序列
- 剑指offer-面试题24:二叉搜索树的后序遍历序列
- 剑指offer面试题24:二叉搜索树的后序遍历序列
- 剑指offer面试题24:二叉搜索树的后序遍历序列
- 剑指offer--面试题24: 二叉搜索树的后序遍历序列
- 剑指offer——面试题24:二叉搜索树的后序遍历序列
- 剑指Offer之面试题24:二叉搜索树的后序遍历序列
- GameRocker: 360°游戏摇杆
- C语言(函数)
- MongoDB索引与固定集合
- windows下不需要插件使用MyEclipse运行hadoop2.6.0 MapReduce程序。
- 运行时错误检查(/RTC)编译选项及实现原理
- 剑指offer面试题24:二叉搜索树的后序遍历序列
- 关于Java字符串中提取自己想要的数据进行计算
- [从头学数学] 第261节 Python实现数据结构:红黑树(RB Tree)
- 用python自定义实现db2的连接池
- Qt on_pushButton_clicked()的用法
- MongoDB备份恢复与导入导出
- 阿里面试题(不知真假)
- 关于appium测试框架的调研及使用
- 浅谈为什么Git没有取代SVN