class Solution { int maxx=INT_MIN; public: int ans(TreeNode* root) { if(root==NULL)return 0; int l = ans(root->left); int r = ans(root->right); maxx = max(maxx,l+r+root->val); return max(0,max(l+root->val,r+root->val)); } int maxPathSum(TreeNode* root) { int pathSum = ans(root); return maxx; } };