class Solution {
public:
int rob(vector<int>& nums) {
if(nums.empty()) return 0;
int tou=0,butou=0,t,ans1,ans2;
for(int i=1;i//1号不偷的情况,2号至最后一号都随意
t=butou+nums[i],butou=max(tou,butou),tou=t;
ans1=max(tou,butou);
tou=butou=nums[0];
for(int i=2;i<(int)nums.size()-1;++i)//1号偷的情况,2号和最后一号肯定不偷,其他随意
t=butou+nums[i],butou=max(tou,butou),tou=t;
ans2=max(tou,butou);
return max(ans1,ans2);
}
};