NC 找到搜索二叉树中两个错误的节点

news2024/9/22 5:27:01

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


描述
一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请按升序输出这两个错误节点的值。(每个节点的值各不相同)
搜索二叉树:满足每个节点的左子节点小于当前节点,右子节点大于当前节点。
样例1图
在这里插入图片描述
样例2图
在这里插入图片描述
在这里插入图片描述

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param root TreeNode类 the root
     * @return int整型一维数组
     */

      //存储结果集的二维数组
    int[] result = new int[2];
    int index = 1;
    TreeNode preNode;
    public int[] findError (TreeNode root) {
        // 特判
        if(root == null) {
            return result;
        }
        // 递归左子树,寻找该树符合条件的节点
        findError(root.left);
        if(preNode == null) {
            preNode = root;
        }
        // 判断是否是出错的节点
        if(index == 1 && root.val < preNode.val) {
            result[index] = preNode.val;
            index--;
        }
        if(index == 0 && root.val < preNode.val) {
            result[index] = root.val;
        }
        preNode = root;
        // 递归右子树,寻找该树符合条件的节点
        findError(root.right);
        return result;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1994266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows系统下的MATLAB 虚拟机中Ubuntu系统的ROS通讯

在Windows系统下的MATLAB与虚拟机中Ubuntu系统的ROS进行通讯&#xff0c;主要涉及到网络配置、环境变量设置以及MATLAB与ROS的接口调用。以下是一个详细的步骤说明&#xff1a; 一、网络配置 设置虚拟机网络&#xff1a; 确保虚拟机&#xff08;Ubuntu系统&#xff09;的网络…

7-3 单机多卡并行

一台机器可以安装多个GPU&#xff08;1-16&#xff09;在训练和预测时&#xff0c;我们将一个小批量计算切分到多个GPU上来达到加速的目的 同样一个小批量&#xff0c;让用多个GPU同时运行来一起完成这个计算梯度的过程常用的切分方案有 数据并行 模型并行 通道并行&#xff…

中国中医科学院某医院:监控易7.0开启一体化运维新篇章

在首都北京的医疗领域中&#xff0c;中国中医科学院某医院作为佼佼者&#xff0c;一直致力于为患者提供高质量的医疗服务。然而&#xff0c;随着医院业务的不断扩展和IT系统的日益复杂&#xff0c;如何确保IT基础资源的稳定运行&#xff0c;成为了医院面临的一大挑战。为了应对…

Java继承细节

目录 继承给编程带来的便利 细节1 案例演示 细节2 案例演示 细节3 案例演示 细节4 案例演示 细节5 细节6 细节7 案例演示 细节8 细节9 细节10 继承给编程带来的便利 提高了代码的复用性&#xff0c;代码的扩展性与维护性。 细节1 子类继承了所有的属性和方法…

Java面试题--JVM大厂篇之破解 JVM 性能瓶颈:实战优化策略大全

目录 引言: 正文: 1. 常见的JVM性能问题 频繁的GC导致应用暂停 内存泄漏导致的内存不足 线程争用导致的CPU利用率过高 类加载问题导致的启动时间过长 2. 优化策略大全 2.1 代码层面的优化 2.1.1 避免不必要的对象创建 2.1.2 优化数据结构的选择 2.1.3 使用并发工具…

【文心超级智能体创造营】打造「潮流穿搭助手」智能体 引领潮流新动向

【文心超级智能体创造营】打造潮流穿搭助手 引领潮流新动向 文章目录 【文心超级智能体创造营】打造潮流穿搭助手 引领潮流新动向一、智能体发展背景二、文心智能体平台—AgentBuilder一图概览三、我的智能体—潮流穿搭助手3.1 智能体初步设想3.2 prompt提示词准备3.3 &#x1…

LabVIEW中CANopen 读取程序解读

这段程序用于创建 CANopen 接口&#xff0c;并读取 CANopen CAN 帧消息。以下是详细的解读&#xff1a; 左侧部分 node-ID (U8): 指定节点 ID&#xff0c;用于标识 CANopen 网络中的设备。CANopen interface (U32): 指定 CANopen 接口。baud rate (U32): 设置波特率&#xff0…

企业如何发布新闻稿到全球媒体上?

在经济全球化的今天&#xff0c;中国某个小县生产的商品可能会卖到全国各地&#xff0c;我们国家很多本土品牌面临出海的难题。当然有些企业已经通过国外的代理商把货品铺到了国外的市场&#xff0c;有的通过亚马逊这样的电商平台进行销售&#xff0c;但这些只是铺货&#xff0…

基于融合正余弦和柯西变异的麻雀搜索算法SCSSA优化CNN-BiLSTM的多变量时间序列预测

matlab R2024a以上 一、数据集 二、融合正余弦和柯西变异的麻雀搜索算法 麻雀搜索算法&#xff08;Sparrow Search Algorithm, SSA&#xff09;是一种新型的群体智能优化算法&#xff0c;其灵感来源于麻雀觅食行为。为了提高算法的性能&#xff0c;可以融合正余弦函数和柯西变…

基于SpringBoot+Vue的城市垃圾分类管理系统(带1w+文档)

基于SpringBootVue的城市垃圾分类管理系统(带1w文档) 基于SpringBootVue的城市垃圾分类管理系统(带1w文档) 信息数据的处理完全依赖人工进行操作&#xff0c;会耗费大量的人工成本&#xff0c;特别是面对大量的数据信息时&#xff0c;传统人工操作不仅不能对数据的出错率进行保…

OBIEE 12C 定制CSS类:隐藏数据透视表某个合计列

1 说明 1.1 信息介绍 BIEE&#xff1a;Oracle Business Intelligence Enterprise Edition&#xff08;Oracle商业智能企业版&#xff09; 版本&#xff1a;OBIEE 12c 数据源&#xff1a;数据透视表 2 目标 2.1 源 2.2 实现 3 实现步骤 3.1 创建CSS&#xff1a;CUX_NEED_HI…

关于重复提交

关于重复提交 ①重复点击提交按钮 import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.ht…

探索设计模式:观察者模式

探索设计模式&#xff1a;观察者模式 &#x1f9d0;观察者模式简介:gem:核心概念:rainbow:观察者模式的优点:truck:实现步骤1. 定义主题接口2. 实现观察者接口3. 具体主题实现4. 具体观察者实现5. 调用 :triangular_flag_on_post:总结 在实际开发过程中&#xff0c;设计模式的作…

音频剪辑界的‘四大天王’来袭,打工人也能秒变调音师

在这个数字化的时代&#xff0c;声音不仅仅是传递信息的工具&#xff0c;它还承载着丰富的情感。就像夜空中最亮的星星一样&#xff0c;它引导着我们这些追求完美的声音爱好者&#xff0c;在音乐的世界里自由探索。今天&#xff0c;让我们一起来认识一下音频剪辑界的"四大…

kafka基础概念二

1.Kafka中主题和分区的概念 1.主题Topic 主题-topic在kafka中是一个逻辑的概念&#xff0c;kafka通过topic将消息进行分类。不同的topic会被订阅该topic的消费者消费 但是有一个问题&#xff0c;如果说这个topic中的消息非常非常多&#xff0c;多到需要几T来存&#xff0c;因…

LVS-Nat和Dr模式集群原理及部署

目录 一.lvs-nat模式集群原理及部署方法 1.实验环境 2.思路图 3.lvs配置1&#xff1a; 4.lvs配置2&#xff1a; 5.webserver1配置: 6.webserver2配置&#xff1a; 7.lvs配置&#xff1a; 二.lvs-dr模式原理集群及部署方法 1.实验环境 2.思路图 3.client: 简单配置i…

C++ 类与对象

面向对象程序设计基本特点 特点&#xff1a; 抽象&#xff08;数据抽象&#xff0c;行为抽象&#xff09; 数据抽象&#xff1a;int hour,int minute.....,车&#xff1a;长&#xff0c;宽&#xff0c;高.... 功能抽象&#xff1a;showTime(),setTime() .....车&#xff1a;刹车…

rocketMQ5.0事务消息实战一

事务消息逻辑 首先我们来docker 部署rocketMQ与rocketMQDashBoard docker ps查看rocketMQ 容器名称 docker ps 进入容器内部 docker exec -it rmqnamesrv /bin/bash 创建事务消息 sh mqadmin updateTopic -c DefaultCluster -t TRANSACTIONTopic -n 127.0.0.1:9876 -a mes…

8.8 day bug

bug1 好家伙&#xff0c;最后一个t没看到&#xff0c;愣是学了一个小时原理和用法&#xff0c;都找不出问题在哪

基于Java中的SSM框架实现远程同步课堂系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现远程同步课堂系统演示 远程同步课堂系统设计与实现 摘要&#xff1a;在这样一个网络数据大爆炸的时代&#xff0c;人们获取知识、获取信息的通道非常的多元化&#xff0c;通过网络来实现数据信息的获取成为了现在非常常见的一种方式&#xff0c;而通过…