leetcode 337. House Robber III

来源:互联网 发布:喀秋莎视频剪辑软件 编辑:程序博客网 时间:2024/05/17 22:45
/** * 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 {public:    int rob(TreeNode* root)     {        int left,right;        return visit(root,&left,&right);    }private:    int visit(TreeNode* root, int* left, int* right)    {        if(!root)        {            return 0;        }        int left_left = 0,left_right=0,right_left=0,right_right=0;        *left = visit(root->left,&left_left,&left_right);        *right =  visit(root->right,&right_left,&right_right);        return max(root->val+left_left+left_right+right_left+right_right,*left+*right);    }};
原创粉丝点击