235. 二叉搜索树的最近公共祖先-leetcode
235. 二叉搜索树的最近公共祖先-leetcode
1 题目
2 代码
/** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($value) { $this->val = $value; } * } */ class Solution { /** * @param TreeNode $root * @param TreeNode $p * @param TreeNode $q * @return TreeNode */ function lowestCommonAncestor($root, $p, $q) { if (empty($root)) { return $root; } if (($root->val <= $p->val && $root->val >= $q->val) || ($root->val >= $p->val && $root->val <= $q->val)) { return $root; } if ($root->val >= $p->val && $root->val >= $q->val) { return $this->lowestCommonAncestor($root->left, $p, $q); } if ($root->val <= $p->val && $root->val <= $q->val) { return $this->lowestCommonAncestor($root->right, $p, $q); } } }
3 思路
- 最近公共祖先,首先想到了公共祖先怎么得到
- 第一时间想到的是,求两个节点到root的路径,然后取到公共部分的最后一个节点返回
- 但是我并没有第一时间这样做,而是又观察了一下最近的公共祖先的特点,即代码中所示
本文来自博客园,作者:吴丹阳-V,转载请注明原文链接:https://www.cnblogs.com/wudanyang/p/13579891.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)