首页 > 其他分享 >代码随想录 -- 二叉树 -- 修剪二叉搜索树

代码随想录 -- 二叉树 -- 修剪二叉搜索树

时间:2024-09-20 10:51:41浏览次数:12  
标签:right -- 随想录 high 二叉树 trimBST left root low

 669. 修剪二叉搜索树 - 力扣(LeetCode)

思路:

递归出口:

  • 当root为空时,返回空。
  • 当root的值比low小时,如果root没有右子树,直接返回空;否则返回trimBST(root.right,low,high)。
  • 当root的值比high大时,如果root没有左子树,直接返回空;否则返回trimBST(root.left,low,high)。

单层递归逻辑:

当root的值在low和high中间时,令root的左孩子为trimBST(root.left,low,high);令root的右孩子为trimBST(root.right,low,high)。

最后返回root。

class Solution(object):
    def trimBST(self, root, low, high):
        if root==None:
            return None
        elif root.val<low:
            if root.right==None:
                return None
            else:
                return self.trimBST(root.right,low,high)
        elif root.val>high:
            if root.left==None:
                return None
            else:
                return self.trimBST(root.left,low,high)
        else:
            root.left=self.trimBST(root.left,low,high)
            root.right=self.trimBST(root.right,low,high)
        return root

标签:right,--,随想录,high,二叉树,trimBST,left,root,low
From: https://blog.csdn.net/weixin_56989647/article/details/142376223

相关文章

  • 批处理实现电脑微信多开
    话不多说了,电脑想多开几个微信,拿来做别的用处,直接上批处理脚本了,test.bat,记得把原来的微信给关掉了,然后再点击批处理程序,就可以多开微信了@echooffstart"""C:\ProgramFiles(x86)\TenCEnt\WeChat\WeChat.exe"start"""C:\ProgramFiles(x86)\Tencent\WeChat\WeChat.exe"ex......
  • NOIP 2016 普及组初赛试题及解析(第三部分:阅读程序(1-2))
    ......
  • webpack打包学习
    在大多数JavaScript项目中,build 和 web 文件夹通常用于存放不同类型的文件。 build 文件夹:通常用于存放项目构建后的文件。这些文件是将源代码、资源和依赖打包、编译、压缩后生成的,主要是为了生产环境。 web 文件夹:通常用于存放项目的源代码和资源文件,如HTML、CS......
  • 前端框架vue和react
    vueVue能力的提升是一个综合性的过程,涉及多个方面的学习和实践。以下是一些具体的例子和策略,可以帮助你提升Vue开发能力:1.深入理解Vue的核心概念1.1响应式系统:深入理解Vue的响应式原理,包括数据绑定、依赖追踪和视图更新机制。Vue的响应式系统是其核心,它允许Vue组件响......
  • 互动娱乐行业中的数据飞轮:从智能推荐到用户洞察
    在互动娱乐行业,数据不仅是业务推动的基础,也是创新的关键。如今,数据飞轮的概念已成为推动企业向数据驱动转型的核心策略。本文将探讨如何通过建立有效的数据飞轮,在文娱行业中实现智能推荐和用户行为分析的深度融合,从而提升用户体验和业务增长。数据采集与用户行为深度分析互动娱乐......
  • 基于Uni-app前端框架的SUMER UI3.0组件库!一端开发,多端运行!本组件库可快速二次开发各种
    基于Uni-app前端框架的SUMERUI3.0组件库!一端开发,多端运行!本组件库可快速二次开发各种类别各行业模板,包括:商城、视频、直播、聊天、支付、新闻、社区、地图、导航、出行、社区、博客等sumer-ui介绍基于uView微信小程序UI组件库,兼容vue3。本插件是SUMER组件库,只提供组件......
  • 高等数学 3.4 函数的单调性与曲线的凹凸性
    目录一、函数单调性的判定法二、曲线的凹凸性与拐点一、函数单调性的判定法定理1设函数\(y=f(x)\)在\([a,b]\)上连续,\((a,b)\)内可导。(1)如果在\((a,b)\)内\(f^{'}(x)\geqslant0\)且等号仅限在有限多个点处成立,那么函数\(y=f(x)\)在\([a,b]\)上单调增......
  • 基于SpringBoot的流浪宠物求助管理系统—计算机毕业设计源码55366
    摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对流浪宠物求助......
  • 阅读周·你不知道的JavaScript | 无人不识又无人不迷糊的this
    背景去年下半年,我在微信书架里加入了许多技术书籍,各种类别的都有,断断续续的读了一部分。没有计划的阅读,收效甚微。新年伊始,我准备尝试一下其他方式,比如阅读周。每月抽出1~2个非连续周,完整阅读一本书籍。这个“玩法”虽然常见且板正,但是有效,已经坚持阅读两个月。《你不知道的JavaScr......
  • uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款
    uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款等功能,界面漂亮颜值高,视频商城小工具等,蚂蚁森林种树养鸡农场偷菜样样齐用于视频,商城,直播,聊天等sumer-alipay介绍uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝......