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
}
相关推荐
우리帅杰1 小时前
【golang】ORM框架操作数据库
golang
秦禹辰2 小时前
本地Docker部署开源Web相册图库Piwigo与在线远程访问实战方案
开发语言·后端·golang
Keying,,,,7 小时前
力扣hot100 | 图论 | 200. 岛屿数量、994. 腐烂的橘子、207. 课程表、208. 实现 Trie (前缀树)
算法·leetcode·图论
楼田莉子8 小时前
C++算法学习专题:滑动窗口
开发语言·数据结构·c++·学习·算法·leetcode
超级皮皮16 小时前
力扣热题之stack
算法·leetcode·职场和发展
YuTaoShao18 小时前
【LeetCode 热题 100】139. 单词拆分——(解法一)记忆化搜索
java·算法·leetcode·职场和发展
圣保罗的大教堂18 小时前
leetcode 1277. 统计全为 1 的正方形子矩阵 中等
leetcode
省四收割者21 小时前
Go语言入门(10)-数组
数据结构·经验分享·笔记·vscode·算法·golang
小欣加油1 天前
leetcode 904 水果成篮
c++·算法·leetcode
君万1 天前
【LeetCode每日一题】56. 合并区间
算法·leetcode·golang