牛客题霸 [ 判断一棵二叉树是否为搜索二叉树和完全二叉树] C++题解/答案

题解:

搜索二叉树满足以下性质:
1.非空左子树的所以键值小于其根节点的键值
2.非空右子树的所有键值大于其根节点的键值
3.左,右子树都是二叉搜索树
完全二叉树:
如果二叉树的深度为k,则除第k层外其余所有层节点的度都为2,且叶子节点从左到右依次存在
叶子节点高度差距不为1或0肯定不是完全二叉树
当左右叶子节点的值大于根节点,肯定不是搜索二叉树

代码:

/*** struct TreeNode {*  int val;*   struct TreeNode *left;* struct TreeNode *right;* };*/class Solution {public:/*** * @param root TreeNode类 the root* @return bool布尔型vector*/vector<bool> judgeIt(TreeNode* root) {// write code heredfs(root);vector<bool>res;res.push_back(a);res.push_back(b);return res; }bool a=1,b=1;int pre=INT_MIN;int dfs(TreeNode* root){if(root==NULL)return 0;if(!a&&!b)return 0;int l=dfs(root->left);if(root->val<pre)a=0;pre=root->val;int r=dfs(root->right);if(!((l-r==0)||(l-r==1)))b=0;return max(l,r)+1;}
};

牛客题霸 [ 判断一棵二叉树是否为搜索二叉树和完全二叉树] C++题解/答案相关推荐

  1. 牛客题霸 [判断二叉树是否对称] C++题解/答案

    [牛客题霸 [判断二叉树是否对称] C++题解/答案](https://www.nowcoder.com/practice/1b0b7f371eae4204bc4a7570c84c2de1?tpId= ...

  2. 牛客题霸 [判断回文] C++题解/答案

    牛客题霸 [判断回文] C++题解/答案 题目描述 给定一个字符串,请编写一个函数判断该字符串是否回文.如果回文请返回true,否则返回false. 题解: 左右两端同时向中间缩 代码: class ...

  3. 牛客题霸 判断链表中是否有环 C++题解/答案

    牛客题霸 判断链表中是否有环 C++题解/答案 题目描述 判断给定的链表中是否有环 扩展: 你能给出空间复杂度的解法么? 题解: 在这介绍一个简便的方法:快慢指针 就是:一个指针走两步,一个指针走一步 ...

  4. 牛客题霸 [判断一个链表是否为回文结构] C++题解/答案

    判断一个链表是否为回文结构 题目描述 给定一个链表,请判断该链表是否为回文结构. 题解: 直接将链表内的数据存入string中,然后从两端开始向中间判断即可 代码: /*** struct ListN ...

  5. 牛客题霸题目及题解汇总

    牛客题霸 单链表的选择排序 C++题解/答案 牛客题霸 最少素数拆分 C++题解/答案 牛客题霸 两数之和 C++题解/答案 牛客题霸 反转链表 C++题解/答案 牛客题霸 二分查找 C++题解/答案 ...

  6. 牛客题霸 [ 在二叉树中找到两个节点的最近公共祖先] C++题解/答案

    牛客题霸 [ 在二叉树中找到两个节点的最近公共祖先] C++题解/答案 题目描述 给定一棵二叉树以及这棵树上的两个节点 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点. 题解: 我们想想最 ...

  7. 牛客题霸 [二叉树中是否存在节点和为指定值的路径] C++题解/答案

    牛客题霸 [二叉树中是否存在节点和为指定值的路径] C++题解/答案 题目描述 给定一个二叉树和一个值\ sum sum,判断是否有从根节点到叶子节点的节点值之和等于\ sum sum 的路径, 例如 ...

  8. 牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径

    https://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c 解决方案 Go func hasPathSum(root *Tre ...

  9. 牛客题霸 [二叉树的之字形层序遍历] C++题解/答案

    牛客题霸 [二叉树的之字形层序遍历] C++题解/答案 题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如: 给定的二叉树是{3,9,20, ...

最新文章

  1. 量子力学在计算机上的应用,量子力学在医学科学中的应用
  2. 针对NLP长文本处理问题的Longformer论文解读
  3. flexi-streams用法简介
  4. 微软出资10亿美元研究AGI,意与谷歌竞争?
  5. 数据回归分析和拟合的Matlab实现
  6. warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID
  7. shell 学习笔记(四)
  8. PHP(四)——性能优化
  9. Java 并发系列之十三:安全发布
  10. 树莓派3vnc分辨率设置
  11. excel空值读不到java里_第一列中的空值是否阻止Pentaho Spoon中的Excel文件导入?
  12. 运维角度浅谈MySQL数据库优化
  13. 4、http编程——setsockopt函数
  14. 推荐 Word、EXCEL必备工具箱
  15. Rebase Current onto Selected
  16. uniapp + vue3微信小程序开发(6)地图展示
  17. 人工智能(AI)在未来的发展趋势和应用场景
  18. python依次输入输出字符串_Python练习:输入一个字符串并输出该字符串中所有字符的组合,python...
  19. 3-6月计算机类学术会议合集
  20. 计算机如何把文件设为隐藏,已知文件类型的扩展名如何设置显示与隐藏?

热门文章

  1. 掌握深度学习,为什么要用 PyTorch、TensorFlow 框架?
  2. 159个故事串起三千年大历史!这套“儿童版史记”太无敌了!
  3. java 继承 子类 实例化_关于Java继承中父类和子类构造函数的问题
  4. mysql老叶博客_MySQL binlog后面的编号最大是多大?【老叶茶馆公众号】
  5. mysql xa 演示_mysql的XA事务恢复过程详解
  6. android管理activity顺序,android activity 六个主要函数以及一些调用顺序
  7. java util map,我应该如何命名java.util.Map?
  8. python是c语言_python与c语言
  9. linux gcc出错,编译arm-linux-gcc出错
  10. android 打开谷歌导航,国内开启google位置记录功能/android版google maps 7+上,恢复位置记录功能在国内使用(需root)...