摘要: 不能简单用层次遍历把隔行的加起来,因为考虑单链表2->1->3->4,最大是2+4=6 f(node)表示占用node的最大值。g(node)表示不占用node的最大值。则: f(node)=node.val+g(node.left)+g(node.right) g(node)=max(f(node 阅读全文
posted @ 2022-03-24 22:20 livingsu 阅读(26) 评论(0) 推荐(0)
摘要: 思路:因为第一个和最后一个不能同时选,所以将环形分成两段[0,len-2]和[1,len-1],分别用"打家劫舍1"求解,然后求最大值即可。 class Solution { public int rob(int[] nums) { int len=nums.length; if(len==1) r 阅读全文
posted @ 2022-03-24 21:35 livingsu 阅读(22) 评论(0) 推荐(0)