题目描述

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
 1 class Solution {
 2 public:
 3     bool VerifySquenceOfBST(vector<int> sequence) {
 4         if (sequence.size() == 0){
 5             return false;
 6         }
 7         if (sequence.size() == 1){
 8             return true;
 9         }
10         int i = sequence.size()-1, k;
11         vector<int> v1, v2;
12         for (k = 0; k < i; k++){
13             if (sequence[k] < sequence[i]){
14                 v1.push_back(sequence[k]);
15             }
16             else
17                 break;
18         }
19         for (int j = k; j < i; j++){
20             if (sequence[j] > sequence[i]){
21                 v2.push_back(sequence[j]);
22             }
23             else
24                 return false;
25         }
26         bool left = true, right = true;
27         if (v1.size() >= 1)
28             left = VerifySquenceOfBST(v1);
29         if (v2.size() >= 1)
30             right = VerifySquenceOfBST(v2);
31         return left && right;
32     }
33 };

转载于:https://www.cnblogs.com/wanderingzj/p/5354125.html

面试题24 二叉搜索树的后序遍历序列相关推荐

  1. 剑指offer:面试题33. 二叉搜索树的后序遍历序列

    题目:二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 参考以下这颗二叉搜 ...

  2. 剑指Offer - 面试题33. 二叉搜索树的后序遍历序列(递归)

    1. 题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 参考以下这颗二叉搜索树:5/ \2 6 ...

  3. 剑指offer面试题33. 二叉搜索树的后序遍历序列(二叉树)(递归)

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 思路 详见链接 代码 class Sol ...

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

    剑指offer--面试题24:二叉搜索树的后序遍历序列 Solution1: 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二 ...

  5. 剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列

    剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列2013-11-23 03:16 题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出 ...

  6. [剑指offer] 二叉搜索树的后序遍历序列

    二叉搜索树的后序遍历序列 P157 题目:输入一个数组,判断这个数组是不是一个二叉搜索树的后序遍历的结果. solution:我们知道后序遍历序列的最后一个item是根节点,如果确实是二叉搜索树的后序 ...

  7. C#刷剑指Offer | 二叉搜索树的后序遍历序列

    [C#刷题]| 作者 / Edison Zhou 这是EdisonTalk的第289篇原创内容 我们来用之前学到的数据结构知识来刷<剑指Offer>的一些核心题目(精选了其中30+道题目) ...

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

    [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 文章目录 [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 package offer;public cl ...

  9. 剑指offer——二叉搜索树的后序遍历序列

    二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 这里遇到的问题就是,传递的子数组怎 ...

最新文章

  1. SharePoint 2007 Backup Strategies
  2. JavaScript实现SelectionSort选择排序算法(附完整源码)
  3. Response_功能介绍
  4. linux内核的I2C子系统详解2——关键结构体、关键文件
  5. Java中的一些术语的解释
  6. NO.6 计算数组中存在重复元素 II
  7. java中intern,JAVA中String的intern方法
  8. 软件测试缺陷报告总结
  9. wcl怀旧服网站中文查服务器fb进度,魔兽世界怀旧服wcl数据查询方法
  10. LeetCode 简单算法题
  11. 国内外对于GaN中Fe相关点缺陷结构的局域特性的研究进展
  12. 分布式之分布式事务、分布式锁、分布式Session
  13. 论文参考文献格式标准
  14. lc1819——枚举因数并判定,两种解法
  15. iis服务器如何修改首页,IIS7~IIS8.5删除或修改服务器协议头Server
  16. uva 378 Intersecting Lines
  17. 【Java基础】swing-图形界面学习(下)
  18. 观《科幻概论》有感(下)
  19. ThinkPhp6+Vue外贸进出口后台管理系统源码
  20. 格雷码(从零基础讲解,C++版)

热门文章

  1. windows服务器的DDOS防御,
  2. ASP.NET伪静态-无法读取配置文件,因为它超过了最大文件大小的解决办法
  3. Tautology(poj3295)(DFS)
  4. Linux三大共享文件的方法
  5. 【转】JAVA中的转义字符
  6. django-uwsgi配置
  7. 前端八大灵感设计,代码变为现实
  8. 基于 Apache Hudi 构建流批一体系统实践
  9. excel实战应用案例100讲(六)-社会判断理论:模型及应用
  10. mysql 存储过程 记录是否存在_如何检查MySQL中是否存在存储过程?