LeetCode 二叉树的坡度

题目传送
在这里插入图片描述
dfs遍历整颗树即可。时间复杂度为O(n)

AC代码

class Solution {
    
    
public:
    int sum;
    int findTilt(TreeNode* root) {
    
    
        dfs(root);
        return sum;
    }

    int dfs(TreeNode* root){
    
    
        if(root == nullptr){
    
    
            return 0;
        }
        int sumleft = dfs(root->left);
        int sumright = dfs(root->right);
        sum += abs(sumleft-sumright);
        return sumleft+sumright+root->val;
    }
};

猜你喜欢

转载自blog.csdn.net/moasad/article/details/121408955