diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
commit | 99e2e923d0c77b02f3fb4ff648ea916954868606 (patch) | |
tree | ec8e03f6f2cd1ce43990fb4fe6cd631967d0237e /works/solutions/leetcode/cpp/337.cpp | |
parent | 1cee979f5d36b311a03cc7397a036ba11caf3d42 (diff) | |
download | crupest-99e2e923d0c77b02f3fb4ff648ea916954868606.tar.gz crupest-99e2e923d0c77b02f3fb4ff648ea916954868606.tar.bz2 crupest-99e2e923d0c77b02f3fb4ff648ea916954868606.zip |
chore(store): move everything to store.
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;
- }
-};
|