Leetcode—1123. 最深叶节点的最近公共祖先【中等】

2025每日刷题(236)

Leetcode---1123. 最深叶节点的最近公共祖先

实现代码

go 复制代码
/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func lcaDeepestLeaves(root *TreeNode) *TreeNode {
    type pair struct {
        node *TreeNode
        depth int
    }

    var dfs func(root *TreeNode) pair 
    dfs = func(root *TreeNode) pair {
        if root == nil {
            return pair{nil, 0}
        }

        lt, rt := dfs(root.Left), dfs(root.Right) 
        ld, rd := lt.depth, rt.depth

        if ld > rd {
            return pair{lt.node, ld + 1}
        }
        if ld < rd {
            return pair{rt.node, rd + 1}
        }

        return pair{root, ld + 1}
    }
    return dfs(root).node
}

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
文丑颜不良啊6 分钟前
LeetCode2161~2180题目解析
java·leetcode
雪落漂泊16 分钟前
C++算法 二分查找篇(上)
开发语言·c++·算法
成都蜀味缘餐饮技术培训学校28 分钟前
手撕烤兔技术培训实战指南,秘制腌料配方比例与调制手法
大数据·经验分享·笔记·其他·微信公众平台
聪明的笨猪猪1 小时前
AI应用架构选型:架构师的核心决策困境与权衡
经验分享·面试·架构
JWASX2 小时前
【Go】map 源码解析 - group
后端·golang·map·源码分析
文丑颜不良啊2 小时前
LeetCode2141~2160题目解析
java·leetcode
LabVIEW开发2 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
严肃小白兔3 小时前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
青少儿编程课堂4 小时前
蓝桥杯青少组图形化省考报名倒计时·全国青少年信息素养大赛·电子学会图形化考级:校园黑白棋人机对战解析
c++·python·算法·bfs·信息学竞赛
jktantan5 小时前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构