函数参数m表示不包含本节点或者同时包含左右子节点的最大值,mc表示包含本节点的最大值,这样遍历至某个节点的最大值等于,左子树的m/mc值,或者右子树的m/mc值,或者max(0,左子树mc值) + max(0,右子树mc值) + 本节点值,取这几个中最大的代码如下: #define INF 1e9 class Solution { public: void dfs(TreeNode* root, int& m, int& mc){ if(!root) return ; mc=root->val; m=-INF; int l,lc; l=lc=-IN...