首页 > 其他 > 详细

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

时间:2016-01-24 00:20:32      阅读:217      评论:0      收藏:0      [点我收藏+]

题目描述

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
 
 1 class Solution {
 2 public:
 3    bool fun(vector<int> arr,int bg,int end)
 4     {
 5         if (bg >= end)
 6             return 1;
 7         int last = arr[end];
 8         int i = end - 1;
 9         while(i >= bg && last < arr[i])
10             --i;
11         int fend = i;
12         bool is = fun(arr,i+1,end -1);
13         if (!is)
14             return 0;
15         for (i;i >= bg ; --i)
16         {
17             if(arr[i] > last)
18                 return 0;
19         }
20         return fun(arr,bg,fend);
21     }
22     bool VerifySquenceOfBST(vector<int> sequence) {
23         if(sequence.size() == 0)
24             return 0;
25         return fun(sequence,0,sequence.size()-1);
26     }
27 };

 

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

原文:http://www.cnblogs.com/xiaoyesoso/p/5154291.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!