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
}
相关推荐
老鼠只爱大米5 小时前
LeetCode算法题详解 283:移动零
算法·leetcode·双指针·快慢指针·移动零·move zeroes
天远云服5 小时前
Go语言高并发实战:集成天远多头借贷行业风险版API构建实时风控引擎
大数据·开发语言·golang·iphone
cpp_25015 小时前
B3927 [GESP202312 四级] 小杨的字典
数据结构·c++·算法·题解·洛谷
踩坑记录5 小时前
leetcode hot100 最长连续子序列 哈希表 medium
leetcode
raoxiaoya5 小时前
cloudwego - eino 使用教程
人工智能·golang
zhengxianyi5155 小时前
yudao-ui-go-view路由同时支持history及hash
ui·golang·哈希算法
橘颂TA6 小时前
【剑斩OFFER】算法的暴力美学——力扣:1047 题:删除字符串中的所有相邻重复项
c++·算法·leetcode·职场和发展·结构于算法
黎雁·泠崖6 小时前
二叉树综合拔高:遍历还原与OJ题拓展训练
c语言·数据结构·leetcode
漫随流水7 小时前
leetcode算法(111.二叉树的最小深度)
数据结构·算法·leetcode·二叉树
POLITE315 小时前
Leetcode 23. 合并 K 个升序链表 (Day 12)
算法·leetcode·链表