打家劫舍3 class Solution {public:pairint,int dfs(TreeNode* root) {if(!root)return {0,0} ;pairint,int ldfs(root-left);pairint,int rdfs(root-right);int chooseroot-vall.secondr.second;//如果选这个节点那么他的子节点都不能选int nochoosemax(l.first,l.second)max( r.first,r.second);//如果不选取子节点选与不选时得到的最大值return {choose,nochoose};}int rob(TreeNode* root) {pairint,intresdfs(root);return max(res.first,res.second);}};