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
}

运行结果

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

相关推荐
ltl3 分钟前
推理退化:为什么大模型会输出乱码、死循环和无意义文本
后端
ltl11 分钟前
架构视图与文档:C4 模型从入门到实战
后端
徐小夕28 分钟前
万字长文!千万级文档 RAG 知识库系统落地实践
前端·算法·github
threelab39 分钟前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师7241 分钟前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴42 分钟前
线程的生命周期之线程“插队“
java·开发语言·python
akunkuntaimei43 分钟前
2026年高考数学各省真题及答案(完整版)
算法·高考
天竺鼠不该去劝架1 小时前
金融智能体选型指南:通用大模型还是垂直专业平台?
经验分享
Hello:CodeWorld1 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
kaikaile19952 小时前
数字全息图处理系统(C# 实现)
开发语言·c#