563. 二叉树的坡度 (Java) Leecode
作者:互联网
对每个节点计算坡度,利用后续遍历,累加求坡度和。
每个节点的坡度,是每个节点的左右子树之和的绝对值。
class Solution{
int count = 0;
public int findTilt(TreeNode root) {
traverse(root);
return count;
}
int traverse(TreeNode root){
if(root == null){
return 0;
}
int leftSum = traverse(root.left);
int rightSum = traverse(root.right);
//后序遍历
count += Math.abs(leftSum - rightSum);
//每个节点的坡度,是每个节点的左右子树之和的绝对值
return leftSum + rightSum + root.val;
}
}
标签:traverse,坡度,int,563,rightSum,Leecode,二叉树,root,节点 来源: https://blog.csdn.net/weixin_46442179/article/details/123030159