题目

难度:★☆☆☆☆

类型:二叉树

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

例如,

给定二叉搜索树:

4

/ \

2 7

/ \

1 3

和值: 2

你应该返回如下子树:

2

/ \

1 3

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

解答

二叉搜索树的重要性质是:对于任何一个结点,左孩子的值比该节点小,而右孩子的值比该节点大。我们利用这一性质进行搜索。

class TreeNode:

def __init__(self, x):

self.val = x

self.left = None

self.right = None

class Solution:

def searchBST(self, root, val):

while root:

if root.val < val:

root = root.right

elif root.val > val:

root = root.left

else:

return root

return

如有疑问或建议,欢迎评论区留言~

python二叉搜索树建立_700. 二叉搜索树的搜索(Python)相关推荐

  1. java 二叉堆 建立_二叉堆创建算法以及 java源程序

    java程序实现: 主要的功能函数: public static int left(int i){ return 2*i+1; } public static int right(int i){ re ...

  2. 树形结构:二叉排列树,二叉搜索树

    二叉排列树,二叉搜索树 这个数听见得比较多,含义是:左边<=中间<=右边,换句话来说使用中序遍历最后得到结果就是一个有序得序列. 建立一颗二叉排列树 class BinTNode:def ...

  3. 数据结构(三):非线性逻辑结构-特殊的二叉树结构:堆、哈夫曼树、二叉搜索树、平衡二叉搜索树、红黑树、线索二叉树

    在上一篇数据结构的博文<数据结构(三):非线性逻辑结构-二叉树>中已经对二叉树的概念.遍历等基本的概念和操作进行了介绍.本篇博文主要介绍几个特殊的二叉树,堆.哈夫曼树.二叉搜索树.平衡二叉 ...

  4. 二叉堆时间复杂度 php,二叉堆(Binary Heap)

    二叉堆这个数据结构有点意思,自己做了个总结,内容结构如下: 二叉堆性质 二叉堆操作 应用 二叉堆性质: 堆(Heap)是一个可以被看成近似完全二叉树的结构,具有完全二叉树的特性: 缺少的叶子节点总是位 ...

  5. 三维叉乘怎么算_圆锥曲线第十四节:二次点乘与二次叉乘

    目录: 质点:圆锥曲线题目的三维矢量解法​zhuanlan.zhihu.com 我们在第八节中已经涉及到了"二次点"和"二次线"(它们统称二次曲线)的概念,我们 ...

  6. python二级真题--共十二套--后六套--选择题

    上半部分 --> 请点击 https://blog.csdn.net/ExclusiveName/article/details/104537575 第七套真题 在面向对象方法中,一个对象请求另 ...

  7. [Python从零到壹] 十二.机器学习之回归分析万字总结全网首发(线性回归、多项式回归、逻辑回归)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  8. Python基础学习笔记之(二)

    Python基础学习笔记之(二) zouxy09@qq.com http://blog.csdn.net/zouxy09 六.包与模块 1.模块module Python中每一个.py脚本定义一个模块 ...

  9. python输入y继续运行_Python二三事 - 接触Python(x,y)

    注释:本文原来转自博客大巴的一篇文章,向原作者致谢!我也做了相应的修改,更加完善对于Pythonx,y的介绍 Python 二三事 面向初学者介绍Python相关的一些工具,以及可能遇到的常见问题. ...

最新文章

  1. php函数的实现原理及性能分析
  2. 在使用添加按钮给table插入新的一行时遇见的问题总结及处理方法
  3. 微信小程序退出页面时清除定时器
  4. GridView 激发了未处理的事件“RowEditing”
  5. [家里蹲大学数学杂志]第405期中国科学院数学与系统科学研究院2015年夏令营分析与代数试题...
  6. 打破双亲委派么,怎么打破_打破了vs你错了
  7. 计算机二级web考点,2018年计算机二级考试WEB考点:web应用程序状态管理方式
  8. easyui datagrid oncheck 修改行样式_100 种 PPT 图表样式送给你
  9. Java 异常的捕获与处理详解 (一)
  10. visual studio 高级选项及配置
  11. 什么软件可以让头发变黑_吃什么可以让头发变黑?
  12. armbian php7.1_N1 + armbian+宝塔面板+apache+MySQL+php
  13. angularJs 页面筛选标签小功能
  14. 麦克斯韦方程组在电力传动领域的应用(1)
  15. 计算机毕设之餐厅选座订餐系统的设计与实践
  16. nginx配置文件nginx.conf超详细讲解
  17. (十四)从零开始学人工智能-深度学习基础及CNN
  18. media-有声小说工作流详解
  19. 统计所有微信好友的性别
  20. meizz (梅花雨)的一些珍藏代码奉献(转)

热门文章

  1. iOS提示气泡,带动画
  2. 自动布局按钮排列平均分布
  3. bzoj 4025 二分图——线段树分治+LCT
  4. Python爬一下抖音上小姐姐的视频~
  5. python_day16_pythom-mysql-API
  6. 哪些物联网应用最适合采用雾计算?
  7. ubuntu如何修改字符集编码
  8. 聚焦OA品牌:OA产品影响力是选型关键
  9. [PHP] Phalcon操作示范
  10. Java实现HTTP文件下载(转)