Leetcode—865. 具有所有最深节点的最小子树【中等】

2025每日刷题(236)

Leetcode---865. 具有所有最深节点的最小子树

实现代码

go 复制代码
/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func subtreeWithAllDeepest(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
}

运行结果

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

相关推荐
卷福同学29 分钟前
不用服务器,不用配环境,我10分钟上线了一个AI Agent
人工智能·后端·算法
码兄科技2 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
至乐活着3 小时前
深入解析跳表SkipList:原理、实现与性能优化实战
数据结构·算法·跳表·skiplist·java实现
GetcharZp3 小时前
只需 10 分钟,轻松实现异地组网!Netmaker 保姆级部署教程来了
后端
Drone_xjw3 小时前
从 GDB 到 CDB:C/C++ 程序调试的两把“手术刀”
c语言·开发语言·c++
前端兰博3 小时前
03-Spring Boot
后端
前端兰博3 小时前
01-Java开发基础语言
后端
SL-staff4 小时前
智慧园区2000+设备统一管理:JVS-IoT如何降低运维成本40%
java·开发语言·物联网·智慧园区·设备管理·运维优化·jvs-iot
前端兰博4 小时前
02-Servlet、JDBC、Maven、Mybatis
后端
Jerry4 小时前
LeetCode 383. 赎金信
算法