563.二叉树的坡度
链接:563.二叉树的坡度
难度:Easy
标签:树、深度优先搜索、二叉树
简介:给定一个二叉树,计算 整个树 的坡度 。
题解 1 - typescript
- 编辑时间:2021-11-18
- 执行用时:112ms
- 内存消耗:44.3MB
- 编程语言:typescript
- 解法介绍:dfs。
function findTilt(root: TreeNode | null): number {
  return dfs(root).tilt;
  function dfs(node: TreeNode | null): {
    sum: number;
    tilt: number;
  } {
    const ans = { sum: 0, tilt: 0, res: 0 };
    if (node === null) return ans;
    const left = dfs(node.left);
    const right = dfs(node.right);
    ans.tilt = Math.abs(left.sum - right.sum) + left.tilt + right.tilt;
    ans.sum = node.val + left.sum + right.sum;
    return ans;
  }
}