添加337.打家劫舍 III-动态规划-JavaScript版

This commit is contained in:
Jack
2021-08-05 10:36:48 +08:00
parent 098bb7b262
commit 5865faa73a

View File

@ -368,7 +368,32 @@ class Solution:
return (val1, val2)
```
Go
JavaScript
> 动态规划
```javascript
const rob = root => {
// 后序遍历函数
const postOrder = node => {
// 递归出口
if (!node) return [0, 0];
// 遍历左子树
const left = postOrder(node.left);
// 遍历右子树
const right = postOrder(node.right);
// 不偷当前节点,左右子节点都可以偷或不偷,取最大值
const DoNot = Math.max(left[0], left[1]) + Math.max(right[0], right[1]);
// 偷当前节点,左右子节点只能不偷
const Do = node.val + left[0] + right[0];
// [不偷,偷]
return [DoNot, Do];
};
const res = postOrder(root);
// 返回最大值
return Math.max(...res);
};
```