思路:遍历数组,只有 当前位置不为1 且 前一个不为1, 后一个不为1, 就可以。
不过要注意边界部分
class Solution {
public boolean canPlaceFlowers(int[] flowerbed, int n) {
if(n == 0) return true;
int num = flowerbed.length;
if(num == 1) return flowerbed[0] == 1 ? false : true;
for(int i =0; i < num; i ++)
{
if(flowerbed[i] == 0)
{
if(i > 0 && flowerbed[i] == 0&&flowerbed[i - 1] != 1 && i <num - 1 && flowerbed[i + 1] != 1)
{n --;
flowerbed[i] = 1;
}
if(i == 0 && flowerbed[i + 1] != 1 && flowerbed[i] == 0) {flowerbed[i] = 1; n --;}
if(i == num - 1 && flowerbed[i - 1] != 1 && flowerbed[i] == 0) {flowerbed[i] = 1; n --;}
}
}
return n <= 0;
}
}