编程语言
首页 > 编程语言> > 563. 二叉树的坡度 (Java) Leecode

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