递归难道不快乐吗
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
private:
int ans = 0;
public:
int findTilt(TreeNode* root) {
getSum(root);
return ans;
}
void getSum(TreeNode* root)
{
if(!root) return;
ans+= abs(sum(root->left)-sum(root->right));
getSum(root->left);
getSum(root->right);
}
int sum(TreeNode* p)
{
if(!p) return 0;
return p->val + sum(p->left) + sum(p->right);
}
};