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
}
相关推荐
qz5zwangzihan11 小时前
题解:Atcoder Beginner Contest abc466 F - Many Mod Calculation
c++·题解·优先队列·atcoder·大根堆·abc466·abc466f
兰令水1 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
Tisfy1 小时前
LeetCode 1291.顺次数:打表/枚举
算法·leetcode·题解·枚举·遍历
tiana_2 小时前
写了个零依赖的 Go 版本管理器,curl | bash 完事
开发语言·golang·bash
罗超驿3 小时前
双指针算法详解:从入门到精通(Java版)
算法·leetcode·职场和发展
tkevinjd3 小时前
力扣300-最长递增子序列
算法·leetcode·职场和发展·动态规划·贪心
灯澜忆梦4 小时前
GO---map函数
开发语言·前端·后端·golang
北冥you鱼5 小时前
Go语言与默克尔树:区块链数据完整性的基石
开发语言·golang·区块链
tkevinjd6 小时前
416分割等和子集
java·python·算法·leetcode·职场和发展
布朗克1687 小时前
Go 入门到精通-15-错误处理
开发语言·python·golang·错误处理