题目传送
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;
}
};