牛客网刷题:二叉搜索树的最近公共祖先

2023-11-02

原题链接

本人的思路见下图:

代码:

class Solution:
    def lowestCommonAncestor(self , root: TreeNode, p: int, q: int) -> int:
        # write code here
        if p == root.val or q == root.val:
            return root.val
        elif (p < root.val and q > root.val) or (p > root.val and q < root.val): # 一个在左子树,一个在右子树
            return root.val
        elif p < root.val and q < root.val:   # 全在左子树
            return self.lowestCommonAncestor(root.left, p, q)
        else:   # 全在右子树
            return self.lowestCommonAncestor(root.right, p, q)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

牛客网刷题:二叉搜索树的最近公共祖先 的相关文章

  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2
  • NotImplementedError:无法将符号张量 (lstm_2/strided_slice:0) 转换为 numpy 数组。时间

    张量流版本 2 3 1 numpy 版本 1 20 在代码下面 define model model Sequential model add LSTM 50 activation relu input shape n steps n fe

随机推荐

  • Python并发编程——多线程thread,多进程process,多协程coroutine的区别与选择

    目录 1 IO Bound与CPU Bound 2 多进程 多线程 多协程的对比 3 如何进行选择 1 IO Bound与CPU Bound IO Bound IO Bound指的是程序的运行效率受计算机IO能力的限制 在程序的运行过程中
  • Java 进程

    目录 什么是进程 操作系统 进程控制块 PCB PCB中的一些属性 pid 进程id 内存指针 文件描述符表 状态 优先级 记账信息 上下文 并行 并发 CPU分配 进程调度 内存分配 内存管理 进程间是如何通信的 什么是进程 如图 当我们
  • Flink CDC 2.2 正式发布,新增功能概述

    一 Flink CDC 2 2 概览经过3个多月的紧张开发 在社区开发者们的共同努力下 Flink CDC 2 2 版本正式发布了 Release Release 2 2 0 ververica flink cdc connectors G
  • Design Compiler —— Design Compliler中常用到的命令(示例)总结(十三)

    转载文章 来源出处 http www cnblogs com IClearner 作者 IC learner 本文将描述在Design Compliler中常用到的命令 这些命令按照流程的顺序进行嵌套讲解 主要是列举例子 大概的讲解布局如下
  • 基于树莓派的空气监测系统(1)项目介绍

    基于树莓派的空气监测系统 1 项目介绍 项目开发使用的知识点包括 Qt程序设计 Python编程 文件编程 串口编程 树莓派驱动程序开发 嵌入式系统学习 视频地址 嵌入式学习资料 资料地址 项目参考代码 下载 编译运行环境x86平台 程序中
  • close函数 qt_Qt学习: QCloseEvent关闭事件的使用及代码示例

    QCloseEvent事件是指 当你鼠标点击窗口右上角的关闭按钮时 所触发的函数 如果你没有重写virtual closeEvent QCloseEvent event 这个虚函数的话 系统是默认接受关闭事件的 所以就会关闭窗体 但有的时候
  • 基于51单片机的教室智能照明控制设计

    具体实现功能 系统由STC89C52单片机 时钟芯片DS1302 液晶屏LCD1602 光敏电阻 红外对管 LED灯模块 按键模块构成 具体功能 1 用4个LED灯模拟教室的照明灯 人数小于10人亮一个灯 10 20人亮二个灯 20 30人
  • cp文件服务器,docker容器与物理机的文件传输—docker cp命令

    ocker cp 用于容器与主机之间的数据拷贝 语法 docker cp OPTIONS CONTAINER SRC PATH DEST PATH docker cp OPTIONS SRC PATH CONTAINER DEST PATH
  • RK平台images打包细则

    IMGs打包细节 平台 RK3288 背景 RK3288编译产生了RK3288MiniLoaderAll V2 19 bin uboot img kernel img uboot img misc img recovery img reso
  • pycharm终端激活环境时报错

    pycharm终端激活环境时报错 nvoke Expression 无法将参数绑定到参数 Command 因为该参数为空字符串 所在位置 E anaconda anaconda anaconda3 envs wsbpytorch shell
  • 启明智显分享

    你现在所看到的是启明智显基于乐鑫ESP32 S3方案推出的4寸RGB接口的86盒开发板 你可以选择应用IDF或arduino进行开发 也可以选择我们提供的开发工具平台8ms上进行开发 为什么会选择8ms平台呢 因为平台已将LVGL作为可选软
  • Java使用FTP上传文件被损坏的问题

    原因 首先 此问题是因为FTP协议定义的数据传输方式有关 当Java FTP客户端使用ASCII传输时会发现有些上传的文件已经被损坏 FTP协议规定了两种传输方式分别是ASCII与binary方式 ASCII 方式 这种机制指 在针对传输内
  • eclipse中开发corba完整说明(jacORB版)

    以下是java eclipse平台上配置并使用jacORB2 3 0开发例子的步骤 0 安装jdk1 6 0 要求 jdk的安装路径里不能包含 空格字符或中文等一些jvm无法识别的字符 配置环境变量JAVA HOME D JavaTool
  • 陆奇如何解构一家企业?

    以下内容来自微信公众号 湖畔大学 ID hupansanbanfu 陆奇博士是整个华人圈中在科技公司做到最高管理职位 视野最宽广的人 也是我最尊重和最认可的科技公司管理者 未来所有企业都要转型成为科技企业 战略 布局和视野将决定每个企业的屋
  • dyld[19592]: Library not loaded: @rpath/SDWebImage.framework/SDWebImage

    SDK开发长见错 Demo中已引入SDWebImage framework 编译也不报错 运行demo的时候直接闪退 报 dyld 19592 Library not loaded rpath SDWebImage framework SD
  • google app engine(webapp2)文件下载

    enroll file enroll mobileconfig filecontent open conf enroll file rb read self response headers add header Content Type
  • Android 安装程序(APK)后并启动程序(APK) 安装 卸载

    Android 安装程序 APK 后并启动程序 APK Intent i new Intent Intent ACTION VIEW i setDataAndType Uri parse file apkfile application v
  • 高效 JavaScript 单元测试

    一个损坏的 JavaScript 代码示例 Web 应用程序面临的一个最大挑战是支持不同版本的 Web 浏览器 能在 Safari 上运行的 JavaScript 代码不一定能在 Windows Internet Explorer IE F
  • ENVI扩展工具——混合像元分解FCLS

    ENVI中线性光谱分离工具 Linear Spectral Unmixing 只有一个约束条件 分解丰度图和为1 但是 会出现负值的情况 理论上来讲 一个像元内每种端元的丰度图DN值范围在0 1之间 并且和为1 这是两个约束条件 因此可以利
  • 牛客网刷题:二叉搜索树的最近公共祖先

    原题链接 本人的思路见下图 代码 class Solution def lowestCommonAncestor self root TreeNode p int q int gt int write code here if p root