给定一个二叉树,计算 整个树 的坡度

 

/**

 * 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 ans=0;

    public int findTilt(TreeNode root) {

           f(root);

            return ans;

    }

    public int f(TreeNode root){

        if(root==null) return 0;


 

        int x=f(root.left);

        int y=f(root.right);

        ans=ans+Math.abs(x-y);

        return x+y+root.val;

    }

}

相关文章: