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
}

运行结果

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

相关推荐
承渊政道3 分钟前
【优选算法】(实战体验滑动窗口的奇妙之旅)
c语言·c++·笔记·学习·算法·leetcode·visual studio
lemonth4 分钟前
图形推理----
人工智能·算法·机器学习
学习要积极6 分钟前
Springboot图片验证码-EasyCaptcha
java·spring boot·后端
码云数智-园园9 分钟前
测试双雄:单元测试与集成测试的深度解析与实战指南
开发语言
故城、14 分钟前
Python进阶
开发语言·python
2401_8914821716 分钟前
C++代码复杂性分析
开发语言·c++·算法
Nyarlathotep011316 分钟前
可重入锁ReentrantLock基础和原理
后端
keep intensify17 分钟前
单词搜索-
算法·深度优先
zx_zx_12317 分钟前
定长滑动窗口和不定长滑动窗口
数据结构·算法
C羊驼17 分钟前
C语言学习笔记(十):操作符
c语言·开发语言·经验分享·笔记·学习