Golang | Leetcode Golang题解之第563题二叉树的坡度

题目:

题解:

Go 复制代码
func findTilt(root *TreeNode) (ans int) {
    var dfs func(*TreeNode) int
    dfs = func(node *TreeNode) int {
        if node == nil {
            return 0
        }
        sumLeft := dfs(node.Left)
        sumRight := dfs(node.Right)
        ans += abs(sumLeft - sumRight)
        return sumLeft + sumRight + node.Val
    }
    dfs(root)
    return
}

func abs(x int) int {
    if x < 0 {
        return -x
    }
    return x
}
相关推荐
_日拱一卒10 分钟前
LeetCode:三数之和
算法·leetcode·排序算法
喵了几个咪12 分钟前
GoWind Content Hub|风行,开箱即用的企业级前后端一体内容中台
vue.js·golang·react·taro
人间打气筒(Ada)25 分钟前
go实战案例:如何基于 Conul 给微服务添加服务注册与发现?
开发语言·微服务·zookeeper·golang·kubernetes·etcd·consul
superantwmhsxx1 小时前
[golang][MAC]Go环境搭建+VsCode配置
vscode·macos·golang
cpp_25011 小时前
P8395 [CCC 2022 S1] Good Fours and Good Fives
数据结构·c++·算法·动态规划·图论·题解·洛谷
穿条秋裤到处跑1 小时前
每日一道leetcode(2026.03.25):等和矩阵分割 I
算法·leetcode·矩阵
实心儿儿2 小时前
算法9:相同的树
算法·leetcode·职场和发展
XiYang-DING2 小时前
【LeetCode】Easy | 387. 字符串中的第一个唯一字符
算法·leetcode·职场和发展
Cocktail_py2 小时前
Windows直接部署crawlab
windows·python·golang
1104.北光c°2 小时前
Leetcode21.合并两个有序链表 双指针+递归 【hot100算法个人笔记】【java写法】
java·后端·程序人生·算法·leetcode·链表·学习方法