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
}

运行结果

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

相关推荐
xyLJ4 分钟前
为什么 Spring Boot 自动配置了 Redis,还要自己写 RedisTemplate?
后端
知识分享小能手4 分钟前
C++ 学习教程,从入门到精通,C++内存模型和名称空间 — 详细知识点总结(9)
开发语言·c++·学习
sogw-三叶草️8 分钟前
LeetCode 989. 数组形式的整数加法
数据结构·算法
德思特9 分钟前
高速数字化仪采样率如何影响信号采集保真度?
经验分享·采样率·数字化仪
2601_9622186112 分钟前
c++中多重继承与虚继承的实现
开发语言·c++
我是小白呀27 分钟前
17-企业Workflow引擎怎么选:定时、队列、n8n、Temporal与Camunda
java·开发语言·人工智能·dubbo·workflow
维克兜率天39 分钟前
【维克】均值回归:跌多了会涨,涨多了会跌
开发语言·笔记·python·算法·均值算法·回归·量化
xixiaoyunya40 分钟前
Spring Boot 3 统一响应与全局异常处理实战
java·spring boot·后端
实心儿儿1 小时前
Qt — Qt 窗口
开发语言·qt
2601_962218611 小时前
C++中分配器allocator的实现
开发语言·c++