563. 二叉树的坡度

563. 二叉树的坡度

原题

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    int res = 0;
    public int findTilt(TreeNode root) {
        if(root==null){
            return 0;
        }
        dfs(root);
        return res;
    }
    public int dfs(TreeNode root){
        if(root==null){
            return 0;
        }
        //左子树遍历递归
        int left = dfs(root.left);
        //右子树遍历递归
        int right = dfs(root.right);
        //求累计坡度
        res += Math.abs(left-right);
        //计算当前结点和其子树的总值
        return root.val+left+right;
    }
}
相关推荐
paeamecium19 小时前
【PAT甲级真题】- Rational Sum (20)
数据结构·c++·python·算法·pat考试·pat
Highcharts.js1 天前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
稚南城才子,乌衣巷风流1 天前
动态开点:原理、实现与应用场景
数据结构·算法
yyds_yyd_100861 天前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode
白白白小纯2 天前
算法篇—返回倒数第k个节点
c语言·数据结构·算法·leetcode
退休倒计时2 天前
【复习】LeetCode 二叉树DFS TypeScript
算法·leetcode·typescript·深度优先
无忧.芙桃2 天前
数据结构之堆
c语言·数据结构·c++·算法·
小蒋学算法2 天前
算法-删除元素后最大固定点数目-典型最长增长序列算法
数据结构·算法
白白白小纯2 天前
算法篇—链表的中间节点
c语言·数据结构·算法·leetcode
pluviophile_s2 天前
数据结构:第6讲:树与二叉树
数据结构·笔记