这道题要理解有一定的困难,首先看到这样的题目肯定想到的就是遍历
其次,需要有一个值来记录倾斜度,即 left+right
再者,需要一个函数来帮忙辅助计算倾斜度,即findSum()
class Solution {
int findSum(TreeNode root){
if(root==null) return 0;
return root.val + findSum(root.left) + findSum(root.right);
}
public int findTilt(TreeNode root) {
if(root==null) return 0;
int left = findTilt(root.left);
int right = findTilt(root.right);
return Math.abs(findSum(root.left)-findSum(root.right))+left+right;
}
}