diff options
Diffstat (limited to 'works/solutions/leetcode/cpp/337.cpp')
| -rw-r--r-- | works/solutions/leetcode/cpp/337.cpp | 38 | 
1 files changed, 0 insertions, 38 deletions
| diff --git a/works/solutions/leetcode/cpp/337.cpp b/works/solutions/leetcode/cpp/337.cpp deleted file mode 100644 index 655a4d0..0000000 --- a/works/solutions/leetcode/cpp/337.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include <cstddef>
 -
 -struct TreeNode
 -{
 -    int val;
 -    TreeNode *left;
 -    TreeNode *right;
 -    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 -};
 -
 -struct SubTreeResult
 -{
 -    SubTreeResult(int use_root, int not_use_root) : use_root(use_root), not_use_root(not_use_root), max(use_root > not_use_root ? use_root : not_use_root) {}
 -
 -    const int use_root;
 -    const int not_use_root;
 -    const int max;
 -};
 -
 -class Solution
 -{
 -public:
 -    static SubTreeResult subtree_rob(TreeNode *root)
 -    {
 -        SubTreeResult left = root->left != NULL ? subtree_rob(root->left) : SubTreeResult{0, 0};
 -        SubTreeResult right = root->right != NULL ? subtree_rob(root->right) : SubTreeResult{0, 0};
 -        const auto use_root_value = root->val + left.not_use_root + right.not_use_root;
 -        const auto not_use_root_value = left.max + right.max;
 -        return SubTreeResult{use_root_value, not_use_root_value};
 -    }
 -
 -    int rob(TreeNode *root)
 -    {
 -        if (root == NULL)
 -            return 0;
 -        return subtree_rob(root).max;
 -    }
 -};
 | 
