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

力扣-236.二叉树的最近公共祖先

题目描述

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if(!root||root==p||root==q)return root;TreeNode* left = lowestCommonAncestor(root->left,p,q);TreeNode* right = lowestCommonAncestor(root->right,p,q);if(left&&right)return root;if(left)return left;return right;}
};

小结:题目看起来简单,实则非常不好理解,后序遍历保证顺序,找到之后向上返回,这题直接记住算了,写不下去了,无语。

相关文章:

  • 【Java Web】速通JSON
  • 【Fifty Project - D26】
  • Python函数返回值的艺术:为何True/False是更优实践及例外情况分析
  • Da14531蓝牙特征值1读没有回调解决
  • DataHub:现代化元数据管理的核心平台与应用实践
  • 数据结构与算法-线性表-单链表(Linked List)
  • 【免费分享】虚拟机VM(适用于 Windows)17.6.3
  • 一文讲透 Vue3 + Three.js 材质属性之皮革篇【扫盲篇】
  • JAVA:多线程使用哈希表
  • Java类加载器深度解析:从原理到实践
  • 通用软件项目全技术栈综合能力评估 - 架构师级挑战
  • 第三章:JavaScript引擎 · 行为之火
  • 黑马程序员c++2024版笔记 第一章
  • vue-quill-editor富文本编辑器
  • 【有理数加法结构体】2022-1-3
  • “禁塑行动·我先行”环保公益项目落地宁夏,共筑绿色生活新篇章
  • HashSet
  • 使用CMake中的configure_file命令自动生成项目版本信息
  • 后端面试题:java中什么是快速失败?
  • 白平衡模块中普朗克曲线拟合硬件实现的猜想
  • 昔日千亿房企祥生集团约2.03亿元债权被拍卖,起拍价8000万元
  • 陕西三原高新区违法占用土地,被自然资源局罚款10万元
  • 中日东三省问题的源起——《1905年东三省事宜谈判笔记》解题
  • 1至4月全国铁路发送旅客14.6亿人次,创同期历史新高
  • 习近平复信中国丹麦商会负责人
  • 孙卫东会见巴基斯坦驻华大使:支持巴印两国实现全面持久停火