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
}
相关推荐
POLITE36 分钟前
Leetcode 19. 删除链表的倒数第 N 个结点 JavaScript (Day 11)
javascript·leetcode·链表
多米Domi0112 小时前
0x3f 第20天 三更24-32 hot100子串
java·python·算法·leetcode·动态规划
漫随流水3 小时前
leetcode算法(344.反转字符串)
数据结构·算法·leetcode
POLITE34 小时前
Leetcode 2.两数相加 JavaScript (Day 11)
前端·javascript·leetcode
sin_hielo4 小时前
leetcode 1411(递推)
数据结构·算法·leetcode
iAkuya4 小时前
(leetcode)力扣100 32随机链表的复制(回溯+哈希/迭代+节点拆分)
leetcode·链表·哈希算法
YGGP5 小时前
【Golang】LeetCode 1351. 统计有序矩阵中的负数
leetcode·矩阵
漫随流水5 小时前
leetcode算法(20.有效的括号)
数据结构·算法·leetcode
im_AMBER7 小时前
Leetcode 94 合并零之间的节点
数据结构·c++·笔记·学习·算法·leetcode
鹿角片ljp7 小时前
力扣283.移动零-双指针法
算法·leetcode·排序算法