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
}
相关推荐
2301_8079973841 分钟前
代码随想录-day26
数据结构·c++·算法·leetcode
小欣加油1 小时前
leetcode 3318 计算子数组的x-sum I
c++·算法·leetcode·职场和发展
海琴烟Sunshine2 小时前
leetcode 190. 颠倒二进制位 python
python·算法·leetcode
海琴烟Sunshine3 小时前
leetcode 338. 比特位计数 python
python·算法·leetcode
豆浆whisky5 小时前
Go内存管理最佳实践:提升性能的Do‘s与Don‘ts|Go语言进阶(17)
开发语言·后端·golang
被AI抢饭碗的人7 小时前
算法题(254):灾后重建
算法·leetcode·职场和发展
Yeats_Liao8 小时前
Go Web 编程快速入门 18 - 附录B:查询与扫描
开发语言·前端·后端·golang
小八四爱吃甜食8 小时前
【R语言】构建GO、KEGG相关不同物种的R包
开发语言·golang·r语言
Kuo-Teng19 小时前
Leetcode438. 找到字符串中所有字母异位词
java·算法·leetcode
赵文宇(温玉)20 小时前
构建内网离线的“github.com“,完美解决内网Go开发依赖
开发语言·golang·github