House Robber III LeetCode solution in Java
1class Solution {2public int rob(TreeNode root) {3int ans[] = robHouse(root);4return Math.max(ans[0], ans[1]);5}67public int[] robHouse(TreeNode root) {8if (root == null) {9return new int[2];10}1112int left[] = robHouse(root.left);13int right[] = robHouse(root.right);1415int ans[] = new int[2];1617ans[0] = Math.max(left[0], left[1]) + Math.max(right[0], right[1]);18ans[1] = root.val + left[0] + right[0];1920return ans;21}22}