当前位置: 首页 > news >正文

江门企业网站建设公司深圳网站建设开发公司

江门企业网站建设公司,深圳网站建设开发公司,企业文化建设方案,免费搭建网站主机C递归实现验证⼆叉搜索树 文章目录 C递归实现验证⼆叉搜索树题目链接题目描述解题思路C算法代码: 题目链接 98. 验证二叉搜索树 - 力扣(LeetCode) 题目描述 给你⼀个⼆叉树的根节点root,判断其是否是⼀个有效的⼆叉搜索树。 有效⼆…

C++递归实现验证⼆叉搜索树

文章目录

  • C++递归实现验证⼆叉搜索树
    • 题目链接
    • 题目描述
    • 解题思路
    • C++算法代码:

题目链接

98. 验证二叉搜索树 - 力扣(LeetCode)

题目描述

给你⼀个⼆叉树的根节点root,判断其是否是⼀个有效的⼆叉搜索树。

有效⼆叉搜索树定义如下:

  • 节点的左⼦树只包含⼩于当前节点的数。
  • 节点的右⼦树只包含⼤于当前节点的数。
  • 所有左⼦树和右⼦树⾃⾝必须也是⼆叉搜索树。

解题思路

利用中序遍历;

后序遍历按照左⼦树、根节点、右⼦树的顺序遍历⼆叉树的所有节点,通常⽤于⼆叉搜索树相关题⽬。

算法思路:

如果⼀棵树是⼆叉搜索树,那么它的中序遍历的结果⼀定是⼀个严格递增的序列。

因此,我们可以初始化⼀个⽆穷⼩的全区变量,⽤来记录中序遍历过程中的前驱结点。那么就可以在
中序遍历的过程中,先判断是否和前驱结点构成递增序列,然后修改前驱结点为当前结点,传⼊下⼀
层的递归中。

算法流程:

  1. 初始化⼀个全局的变量**prev,⽤来记录中序遍历过程中的前驱结点的val**;

  2. 中序遍历的递归函数中

a.设置递归出⼝:root==nullptr的时候,返回true

b. 先递归判断左⼦树是否是⼆叉搜索树,⽤**retleft**标记;

c.然后判断当前结点是否满⾜⼆叉搜索树的性质,⽤**retcur**标记:

  • 如果当前结点的**val⼤于prev,说明满⾜条件,retcur改为true**;
  • 如果当前结点的val⼩于等于**prev,说明不满⾜条件,retcur改为false**;

d.最后递归判断右⼦树是否是⼆叉搜索树,⽤**retright**标记;

  1. 只有当**retleft、retcur和retright都是true的时候,才返回true**。

C++算法代码:

class Solution
{
long prev = LONG_MIN;
public:
bool isValidBST(TreeNode* root)
{
if(root == nullptr) return true;
bool left = isValidBST(root->left);
// 剪枝
if(left == false) return false;
bool cur = false;
if(root->val > prev)
cur = true;
// 剪枝
if(cur == false) return false;
prev = root->val;
bool right = isValidBST(root->right);
return left && right && cur;
}
};
http://www.yayakq.cn/news/629356/

相关文章:

  • 备案网站建设方案书模板wordpress auto highslide
  • 免费做图片的网站wordpress外贸产品插件
  • 服务器网站维护做网站百度还是阿里巴巴好
  • 广州建站推广网站建设及优化的策划书
  • 网站开发需要提供哪些资料网页设计怎么样
  • 公司网站免备案世界网站流量排名
  • 宁波市住房和城乡建设培训中心网站数据分析师报名官网
  • 电子商务网站建设步做网站宣传
  • 龙潭湖网站建设wordpress小程序获取页面
  • 网站开发团队 人员帮人做设计的网站
  • 宿迁网站建设电话怎么查有做网站的公司有哪些
  • 怎样提高网站的打开速度网站开发团队名字
  • 计算机企业网站建设论文企业管理课程有哪些内容
  • 网站做支付宝接口wordpress 运行速度慢
  • 专业的网站建设排名本科专业建设网站
  • 南宁优质手机网站建设公司福州市交通建设集团有限公司 网站
  • 郴州文明网网站2024年阳性什么症状
  • 校园网站建设与应用满洲里建设局网站
  • 网站建设etw北京教育网站建设
  • 做一个公司展示型网站多少钱游戏推广在哪里接活
  • 用VS做的网站怎么连接数据库莱芜在线董事长
  • 做实验教学视频的网站tradexdll.wordpress
  • 杭州网站建设q479185700棒玉林做网站优化推广
  • 2016年两学一做教育网站中山网站优化排名
  • 网站建设公司的公司排名怎么做才能发布网站
  • 公司网站建设推进表wordpress搜索 s=
  • 网站安全管理机制建设手表网站域名
  • 网站开发课题的目的与意义中国监察报电子版
  • 四川建设网入川备案网站做网站营销
  • 网站着陆页 推荐快速模板建站工具