题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

A:在二叉树的后序遍历中,数组最后一个元素为根节点,左子树序列始终小于根节点,右子树序列始终大于根节点

  找左子树序列和右子树序列

  递归调用查找即可,若不满足条件返回false,若最后left大于right返回true

class Solution {
public:
bool isBST(vector<int> sequence, int left, int right)
{
if(left >= right) //left==right对应的是叶子结点,left>right对应空树
{
return true;
}
int check_right = right;
//找右子树,tmp为右子树最左分界点
while((check_right > left) && (sequence[check_right - 1] > sequence[right]) )
{
--check_right;
}
//找左子树
for(int check_left = check_right - 1; check_left >= left; --check_left)
{
if(sequence[check_left] > sequence[right])
{
return false;
}
}
return (isBST(sequence, left, check_right - 1) && isBST(sequence, check_right, right - 1));
}
bool VerifySquenceOfBST(vector<int> sequence) {
//{5,7,6,9,11,10,8}
if(sequence.empty())
{
return false;
}
return isBST(sequence, 0, sequence.size() - 1);
}
};

  

相关题目:

  计算器:

输入为一个算数表达式的字符串。输出它经过计算之后的结果。如果该字符串不满足算数表达式则输出字符串Error。
注意:
0. 输入中的数只有非负整数。小数、负数等均需要输出Error。
1. 需要支持运算符加、减、乘以及括号。
2. 运算符的优先级为:括号>加=减>乘。
3. 支持数与操作符、操作符与操作符之间有任意空格。
3. 输入和运算过程中不需要考虑整数溢出,用32位的int即可。https://www.nowcoder.com/practice/fb2392f481d84a4cabb7cab9335a7896

最新文章

  1. VMware Workstation安装MAC OS X系统
  2. XML.03-DOM和SAX解析
  3. (转) RSA算法原理(一)
  4. jstl删除session,choose,动态获取request当前工程路径
  5. POJ 2253 Difference of Clustering
  6. 蓝牙(2)用BluetoothAdapter搜索蓝牙设备示例
  7. 关于main函数的定义
  8. NOIP 2015 子串
  9. 成品入库过账bapi
  10. 微软开源PowerShell并支持Linux和OS X
  11. jsp:setProperty
  12. Servlet第二篇(介绍、ServletConfig;ServletContext)
  13. nacos 使用记
  14. MYSQL性能查看(多指标)
  15. php网页上传文件到Ubuntu服务器(input type=fire)- 赖大大
  16. Raspbian开启root账户
  17. IE6的3像素bug
  18. php后台管理员权限相关表结构
  19. React Native(十三)&mdash;&mdash;ios键盘挡住textInput
  20. 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译

热门文章

  1. GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes
  2. java中json字符串与实体类对象相互转换
  3. xcode运行sh权限问题
  4. 【ASP.NET Core】用配置文件来设置授权角色
  5. Odoo View 常用技巧
  6. Stream流中的常用方法_Foreach-Stream流中的常用方法_filter
  7. Grafana 系列文章(十):为什么应该使用 Loki
  8. 利用ICSharpCode.SharpZipLib.dll解析 出错:“Wrong Local header signature: 0xFF8”
  9. 10分钟搞定简易MVVM
  10. rt-thread模糊到清晰系列: thread切换相关