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

宁波网站开发建设网上做娱乐广告的网站

宁波网站开发建设,网上做娱乐广告的网站,个人做理财网站,c2c平台的特点请实现一个函数来判断整数数组 postorder 是否为二叉搜索树的后序遍历结果。 示例 1: 输入: postorder [4,9,6,5,8] 输出: false 解释:从上图可以看出这不是一颗二叉搜索树 LCR 152. 验证二叉搜索树的后序遍历序列 - 力扣(LeetCode&#x…

请实现一个函数来判断整数数组 postorder 是否为二叉搜索树的后序遍历结果。

示例 1:

输入: postorder = [4,9,6,5,8]
输出: false 
解释:从上图可以看出这不是一颗二叉搜索树

LCR 152. 验证二叉搜索树的后序遍历序列 - 力扣(LeetCode)

class Solution {public boolean verifyTreeOrder(int[] postorder) {if(postorder == null || postorder.length == 0 || postorder.length == 1){return true;}int length = postorder.length - 1;int root = postorder[length];int index = 0;//遍历出左子树节点for(int i = 0; i < length; i++){if(postorder[i] > root){index = i;break;}}if (index == 0 && postorder[index] < root) {index = length; // 右子树为空}//从这开始都应该是比根大了for(int j = index; j <length; j++ ){if(postorder[j] < root)return false;}// 处理左子树int[] left = new int[0]; // 默认左子树为空if (index > 0) {left = Arrays.copyOfRange(postorder, 0, index);} // 处理右子树int[] right = new int[0]; // 默认右子树为空if (index < length) {right = Arrays.copyOfRange(postorder, index, length);} return verifyTreeOrder(left)&&verifyTreeOrder(right);}
}

要注意函数调用的边界。Arrays.copyOfRange(postorder, 0, index) 是复制从索引 0 到 index - 1 的元素,而不是复制到 index。在这里栽坑了。然后就是右子树为空的情况,因为没有比他大的元素,所以index不会变,deepseek让我加一个判断,我觉得应该是我代码本身的纰漏。选择把index的更新放在判断体的外面就行了(基本功不好)

 

class Solution {public boolean verifyTreeOrder(int[] postorder) {if(postorder == null || postorder.length == 0 || postorder.length == 1){return true;}int length = postorder.length - 1;int root = postorder[length];int index = 0;//遍历出左子树节点for(; index < length; index++){if(postorder[index] > root){break;}}for(int j = index; j <length; j++ ){if(postorder[j] < root)return false;}// 处理左子树int[] left = new int[0]; // 默认左子树为空if (index > 0) {left = Arrays.copyOfRange(postorder, 0, index);} // 处理右子树int[] right = new int[0]; // 默认右子树为空if (index < length) {right = Arrays.copyOfRange(postorder, index, length);} return verifyTreeOrder(left)&&verifyTreeOrder(right);}
}

http://www.dtcms.com/a/549236.html

相关文章:

  • 浙江制造品牌建设网站做微信网站公司名称
  • Babylon.js中ArcRotateCamera.interpolateTo 方法使用备忘
  • 【OD刷题笔记】- CPU算力分配
  • iOS 抓包工具有哪些,开发者的选型与实战指南
  • 测试过程涉及python自动化及其他相关面试问题汇总
  • 免费网站建设讯息全站加速 wordpress
  • 哪里网站建设公司比较好网站建设销售工作职责
  • 推荐一款免费的语音识别网站,上传音频即可
  • 笔记C++语言,太焦虑了
  • 分公司一般做网站吗音乐网站建设目标
  • Java 21 虚拟线程 vs 缓存线程池与固定线程池
  • 在线开发培训网站建设小型餐饮店面设计
  • ZYNQ USB按键读写操作详解:从裸机到Linux系统的完整实现
  • 如何在Windows桌面实现自由悬浮计时?
  • BEV环视感知算法从环境部署开始
  • 看上去高端的网站深圳培训学校
  • 狂飙与重构:机器人IPO浪潮背后的系统焦虑与感知进化
  • 21.静态NAT
  • 做头像的网站wordpress拖拽式
  • 【C++】位运算算法习题
  • 券商上云,不止AI和大数据,还有USB Server
  • 软件设计师知识点总结:面向对象技术(设计模式)
  • 广西建设局建设行政主管部网站企业app开发企业
  • Python 实战:Web 漏洞 Python POC 代码及原理详解(3)
  • VMware替代 | ZStack ZSphere与VMware NSX安全策略对比
  • BigDecimal
  • 【电子元器件·10】低功耗继电器 —— 磁保持继电器;有源蜂鸣器、无源蜂鸣器
  • 示范专业网站建设网站开发体会范文
  • LeetCode 411 - 最短独占单词缩写
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(11):文法和单词-第三课