news 2026/8/21 22:08:19

BM34 判断是不是二叉搜索树。给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。 二叉搜索树满足每个节点的左子树上的所有节点均严格小于当前节点且右子树上的所有节点均严格大于当前节点。 思路:

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BM34 判断是不是二叉搜索树。给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。 二叉搜索树满足每个节点的左子树上的所有节点均严格小于当前节点且右子树上的所有节点均严格大于当前节点。 思路:
  • 1 中序遍历,同时判断是否升序(一次遍历完后)
    • 1.1 注意事项:初始化不能写在递归里,否则每次递归都初始化,不错才怪
  • 2 先中序遍历存入数组,再判断是否升序

给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。

二叉搜索树满足每个节点的左子树上的所有节点均严格小于当前节点且右子树上的所有节点均严格大于当前节点。

思路:
二叉搜索树,中序遍历是升序;
只要当前结点值小于pre,就不是升序,就不是二叉搜索树;

1 中序遍历,同时判断是否升序(一次遍历完后)

intpreVal=INT_MIN;//记录前驱值,INI_MIN代表初始最小值(初始化不能写递归函数里)boolisValidBST(TreeNode*root){//二叉搜索树,中序遍历是升序;;;只要当前结点小于pre,就不是升序,不是二叉搜索树;if(root==NULL)returntrue;//处理左子树if(!isValidBST(root->left))returnfalse;//处理当前节点if(root->val<=preVal)returnfalse;elsepreVal=root->val;//更新最值//处理右子树if(!isValidBST(root->right))returnfalse;returntrue;}

1.1 注意事项:初始化不能写在递归里,否则每次递归都初始化,不错才怪

初始化不能写在递归里,否则每次递归都初始化,不错才怪

intpreVal=INT_MIN;//记录前驱值,INI_MIN代表初始最小值(初始化不能写递归函数里)

C/C++中常量INT_MAX和INT_MIN分别表示最大、最小整数。
INT_MIN的用法

2 先中序遍历存入数组,再判断是否升序

boolisValidBST(TreeNode*root){vector<int>res;InOrder(root,res);//二叉搜索树,中序遍历是升序;只要当前结点值小于等于pre,就不是升序,就不是二叉搜索树;for(inti=0;i<res.size()-1;i++)if(res[i]>=res[i+1])returnfalse;returntrue;}
voidInOrder(TreeNode*root,vector<int>&res){if(root){InOrder(root->left,res);res.push_back(root->val);InOrder(root->right,res);}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 13:29:09

告别繁琐配置!用SenseVoiceSmall镜像秒级转写音频内容

告别繁琐配置&#xff01;用SenseVoiceSmall镜像秒级转写音频内容 你是否经历过这样的场景&#xff1a;会议录音堆了十几条&#xff0c;却要花两小时逐条听写&#xff1b;客户访谈视频里夹杂着笑声、背景音乐和突然的停顿&#xff0c;传统语音转文字工具只输出干巴巴的文字&am…

作者头像 李华
网站建设 2026/8/21 13:29:10

AI产品经理必看:Emotion2Vec+ Large在用户体验监测中的应用

AI产品经理必看&#xff1a;Emotion2Vec Large在用户体验监测中的应用 1. 为什么语音情感识别正在成为UX监测的新基建 你有没有遇到过这样的情况&#xff1a;用户在App里反复点击“提交失败”&#xff0c;客服记录显示“系统卡顿”&#xff0c;但技术团队查遍日志却找不到异常…

作者头像 李华
网站建设 2026/8/21 13:29:09

YOLO26 Xftp文件传输:模型下载与数据上传实操

YOLO26 Xftp文件传输&#xff1a;模型下载与数据上传实操 最新 YOLO26 官方版训练与推理镜像 本镜像基于 YOLO26 官方代码库 构建&#xff0c;预装了完整的深度学习开发环境&#xff0c;集成了训练、推理及评估所需的所有依赖&#xff0c;开箱即用。 1. 镜像环境说明 该镜像…

作者头像 李华
网站建设 2026/8/21 13:29:10

AssetRipper资源提取完全指南:从环境配置到高级应用

AssetRipper资源提取完全指南&#xff1a;从环境配置到高级应用 【免费下载链接】AssetRipper GUI Application to work with engine assets, asset bundles, and serialized files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper AssetRipper是一款专业…

作者头像 李华
网站建设 2026/8/21 13:29:15

AssetRipper深度解析:完全掌握Unity资源提取与优化技术

AssetRipper深度解析&#xff1a;完全掌握Unity资源提取与优化技术 【免费下载链接】AssetRipper GUI Application to work with engine assets, asset bundles, and serialized files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper Unity资源提取是游…

作者头像 李华
网站建设 2026/8/21 13:29:43

突破设备限制:Sunshine打造跨终端游戏系统的完整指南

突破设备限制&#xff1a;Sunshine打造跨终端游戏系统的完整指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshin…

作者头像 李华