Leetcode 236 二叉树的最近公共祖先

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*///用f(x)表示x节点的子树是否包含p或者q//则满足公共祖先节点有两种情况组成//1.f(x.left) && f(x.right)//2.f(x.left) || f(x.right) && x==另一个
class Solution {TreeNode ans = new TreeNode();public boolean dfs(TreeNode root, TreeNode p, TreeNode q){if(root == null) return false;boolean lson = dfs(root.left, p, q);boolean rson = dfs(root.right, p, q);//情况1if(lson && rson){ans = root;}//情况2else if((lson || rson) && (root.val == q.val || root.val == p.val)){ans = root;}//因为所有结点的val都不相同,所以直接返回就行,不用考虑复杂情况return rson || lson || (root.val == p.val || root.val == q.val);}public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {dfs(root, p, q);return ans;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32网络开发实例-BME280传感器数据保存到InfluxDB时序数据库

BME280传感器数据保存到InfluxDB时序数据库 文章目录 BME280传感器数据保存到InfluxDB时序数据库1、BM280和InfluxDB介绍2、软件准备3、硬件准备4、代码实现在本文中,将详细介绍如何将BME280传感器数据上传到InfluxDB中,方便后期数据处理。 1、BM280和InfluxDB介绍 InfluxDB…

yolo如何画框、如何变换目标检测框的颜色和粗细、如何运行detect脚本

这段代码是一个使用YOLO模型进行目标检测的Python脚本。下面我将逐步解释脚本的主要部分,并提供一些关于超参数的使用方法。 1. 脚本结构 导入相关库设置配置参数加载YOLO模型运行目标检测处理检测结果显示或保存结果 2. 超参数说明 --weights: 指定YOLO模型的…

Semantic Kernel 学习笔记2

本来想白瞟免费Bing Search API如下,但是报错无法链接利用免费的必应 Bing 自定义搜索打造站内全文搜索_bing_subscription_key-CSDN博客 改成按照官方推荐申请,并在.env文件中添加BING_API_KEY""字段。 1. 打开https://www.microsoft.com/en-…

Eigen的基操

转自博客 博客

【Spring Boot】034-Spring Boot 整合 JUnit

【Spring Boot】034-Spring Boot 整合 JUnit 文章目录 【Spring Boot】034-Spring Boot 整合 JUnit一、单元测试1、什么是单元2、什么是单元测试3、为什么要单元测试 二、JUnit1、概述简介特点 2、JUnit4概述基本用法 3、JUnit5概述组成 4、JUnit5 与 JUnit4 的常用注解对比 三…

AR工业眼镜:智能化生产新时代的引领者!!

科技飞速发展,人工智能与增强现实(AR)技术结合正在改变生活工作方式。AR工业眼镜在生产领域应用广泛,具有实时信息展示、智能导航定位、远程协作培训、智能安全监测等功能,提高生产效率、降低操作风险,为企…

算法训练 第七周

一、最小栈 本题要求我们实现一个最小栈数据结构,要求它可以实现栈的基本功能,并且还能使用常数时间复杂度来获取栈中的最小值。 1.辅助栈 我们可以在普通栈的基础上再添加一个维护最小值的辅助栈来实现这个数据结构,我们先创建一个普通的栈…

docker搭建etcd集群

最近用到etcd,就打算用docker搭建一套,学习整理了一下。记录在此,抛砖引玉。 文中的配置、代码见于https://gitee.com/bbjg001/darcy_common/tree/master/docker_compose_etcd 搭建一个单节点 docker run -d --name etcdx \-p 2379:2379 \…

[html] 动态炫彩渐变背景

废话不多说&#xff0c;直接上源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ZXW-NUDT: 动态炫…

【算法与数据结构】78、90、LeetCode子集I, II

文章目录 一、题目二、78.子集三、90.子集II三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、78.子集 思路分析&#xff1a;【算法与数据结构】77、LeetCode组合。本题可以参考77题的组合问题代码&#xff0…

Flutter有状态组件StatefulWidget生命周期

StatefulWidget是Flutter中的一个有状态的组件&#xff0c;它的生命周期相对复杂一些。下面是StatefulWidget的生命周期方法及其调用顺序&#xff1a; 1. createState(): 当StatefulWidget被插入到Widget树中时&#xff0c;会调用createState()方法来创建与之关联的State对象。…

@Async注解的坑

问题描述 一个方法调用另一个方法(该方法使用Async注解)在同一个类文件中&#xff0c;该注解会失效&#xff01; 问题复现 TestAsyncController 类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; im…

git快速上传代码

① git init&#xff1b; 初始化git&#xff0c;之后在文件夹里有.git文件&#xff0c;这个需要 勾选才能查看。 ② git remote add test myFisrtTest: 测试专用 这里的test是自定义的&#xff0c;myFisrtTest: 测试专用 是远程仓库 ③ git branch -a 这里是查看分支 ④ …

react函数式组件props形式子向父传参

父组件中定义 子组件中触发回调传值 import { useState } from "react"; function Son(params) {const [count, setCount] useState(0);function handleClick() {console.log(params, paramsparamsparamsparamsparamsparams);params.onClick(111)setCount(count 1…

阿里云容器镜像服务的运维总结

一、背景 容器镜像服务&#xff0c;作为一个可选付费产品&#xff0c;主要作用是存储docker的镜像仓库&#xff0c;供k8s拉取到Pod节点里。 你可以自己搭建一个harbor镜像仓库&#xff0c;在公司的开发环境下&#xff0c;将image推送到仓库&#xff1b;然后在生产k8s从仓库拉取…

如果不用Baklib,哪一个帮助中心工具能够替代它?

在各行各业进入“留量时代”的当下&#xff0c;让用户获得良好的体验和留存老客户变得更为关键&#xff0c;这对于企业的客户服务提出了更高的要求。在使用各类互联网产品时&#xff0c;用户更倾向于通过自助方式寻找答案并解决问题&#xff0c;因此帮助中心的重要性也在不断提…

mysql之MHA

1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换&#xff08;基于主从复制才能故障切换&#xff09; MHA最少要求一主两从&#xff0c;半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃&#xff0c;MHA可以在0-30…

μC/OS-II---时间管理(os_time.c)

目录 时间管理相关&#xff08;os_time.c&#xff09;Task延迟按时、分、秒、毫秒延时恢复被延时的Task返回系统当前的Tick计数值设置系统的Tick计数值 时间管理相关&#xff08;os_time.c&#xff09; Task延迟 void OSTimeDly (INT32U ticks) {INT8U y; #if OS_CRITI…

为什么UI自动化难做?—— 关于Selenium UI自动化的思考

在快速迭代的产品、团队中&#xff0c;UI自动化通常是一件看似美好&#xff0c;实际“鸡肋”&#xff08;甚至绝大部分连鸡肋都算不上&#xff09;的工具。原因不外乎以下几点&#xff1a; 1 效果有限 通常只是听说过&#xff0c;就想去搞UI自动化的团队&#xff0c;心里都认…