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

【面试之算法篇】寻找二叉树中两个节点的最低公共祖先

题目

给定一个树的根节点root和两个子节点a,b,返回二叉树中两个节点的最低公共祖先。二叉树每个节点的值都是不同的整数

       10060     12040 null  4 7

4和7的最低公共祖先是120,60和40的最低公共祖先是60

思路

两个节点的祖先会有多个,只有是祖先的节点才有可能会是最低公共祖先。所以不是祖先的节点可以不用再去遍历。

  1. 遍历节点并查找当前节点的所有子节点数据,判断节点是不是组先,
  2. 如果不是祖先,该节点无需再继续遍历
  3. 如果是祖先节点,将祖先节点加入list,继续遍历该节点左子节点和右子节点
  4. 返回最后一个list元素,就是最低的公共祖先

代码实现

import java

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JSON 提取器:从文本中提取 JSON 内容的实用工具
  • Android系统Android.bp文件详解
  • el-tree自定义节点内容
  • Java的线程实现
  • 实时捕捉与追溯:得物基于 eBPF 打造云上网络连接异常摄像头
  • Android常用面试题
  • 2024年8月一区SCI-海市蜃楼优化算法Fata morgana algorithm-附Matlab免费代码
  • C 语言中的头文件
  • Qt QSettings操作配置文件详细介绍
  • golang下载、上传文件MD5高效计算方法,利用io.TeeReader函数特性 实时计算文件md5签名
  • 数据结构-快速排序与归并排序(递归与非递归)
  • 大数据应用组件
  • C++ | Leetcode C++题解之第327题区间和的个数
  • 编程-笔记三:行为型设计模式-小结
  • 字符函数和字符串函数(2),C语言内存函数
  • 10个确保微服务与容器安全的最佳实践
  • C++11: atomic 头文件
  • cookie和session
  • E-HPC支持多队列管理和自动伸缩
  • es的写入过程
  • nginx 配置多 域名 + 多 https
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Python爬虫--- 1.3 BS4库的解析器
  • Redux 中间件分析
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 多线程事务回滚
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 区块链共识机制优缺点对比都是什么
  • 如何进阶一名有竞争力的程序员?
  • 我这样减少了26.5M Java内存!
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 如何用纯 CSS 创作一个货车 loader
  • ​如何在iOS手机上查看应用日志
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #QT 笔记一
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (面试必看!)锁策略
  • (十六)一篇文章学会Java的常用API
  • (转)Sql Server 保留几位小数的两种做法
  • (转)Sublime Text3配置Lua运行环境
  • .NET 5种线程安全集合
  • .NET 发展历程
  • .NET 中的轻量级线程安全
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET/C# 的字符串暂存池