Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.49 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int rob(TreeNode* root) {
  4.         return solveRob(root, true);
  5.     }
  6. private:
  7.     int solveRob(TreeNode* node, bool can_rob) {
  8.         if (!node) return 0;
  9.        
  10.         int do_not_rob_res = solveRob(node->left, true) + solveRob(node->right, true);
  11.         int rob_res = 0;
  12.         if (can_rob)
  13.             rob_res = node->val + solveRob(node->left, false) + solveRob(node->right, false);
  14.        
  15.         return max(do_not_rob_res, rob_res);
  16.     }
  17. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement