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

力扣——二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。

例如,

给定二叉搜索树:

        4
       / \
      2   7
     / \
    1   3

和值: 2

你应该返回如下子树:

      2     
     / \   
    1   3

在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL

 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
        if (root == null) {
            return null;
        }

        if (root.val == val) {
            return root;
        } else if (root.val > val) { // 在左子树中查找
            return searchBST(root.left, val);
        } else { // 在右子树中查找
            return searchBST(root.right, val);
        }
    }
}

 

转载于:https://www.cnblogs.com/JAYPARK/p/10367337.html

相关文章:

  • visualsvn for vs2017 初始化错误
  • 寒假开学回忆
  • 4算法与数据结构
  • C++虚继承
  • L3-009 长城 (30 分)
  • 股票
  • 如何创建一个Asp .Net Web Api项目
  • RAID LVM ISCSI
  • 在采用vue-cli Post Get
  • Linux的常识
  • P1606 [USACO07FEB]白银莲花池Lilypad Pond
  • Galera Cluster——一种新型的高一致性MySQL集群架构
  • KM模板
  • POJChallengeRound2 Tree 【数学期望】
  • 【BZOJ5291】[BJOI2018]链上二次求和(线段树)
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • Android Volley源码解析
  • Git初体验
  • JavaScript学习总结——原型
  • Java小白进阶笔记(3)-初级面向对象
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Lucene解析 - 基本概念
  • node.js
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • spring + angular 实现导出excel
  • text-decoration与color属性
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 关于 Cirru Editor 存储格式
  • 经典排序算法及其 Java 实现
  • 排序算法之--选择排序
  • 强力优化Rancher k8s中国区的使用体验
  • 悄悄地说一个bug
  • 通信类
  • 我的zsh配置, 2019最新方案
  • 再次简单明了总结flex布局,一看就懂...
  • postgresql行列转换函数
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #pragma once
  • (2)(2.10) LTM telemetry
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (多级缓存)缓存同步
  • (二)WCF的Binding模型
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (转)项目管理杂谈-我所期望的新人
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET DataGridView数据绑定说明
  • .net FrameWork简介,数组,枚举
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .net反混淆脱壳工具de4dot的使用
  • .Net中wcf服务生成及调用