二叉树中的最大路径和
分析
dfs一下就好
class Solution {
public:
int ans = -2e9;
int maxPathSum(TreeNode* root) {
getAns(root);
return ans;
}
int getAns(TreeNode* rt) {
if (!rt)return 0;
int l=getAns(rt->left);
int r = getAns(rt->right);
ans = max({ ans,l + r + rt->val });
int out = max(l, r) + rt->val;
return out >= 0 ? out : 0;
}
};