可以种植的情况(下标 i):
- i == 0 && arr[i+1] == o && arr[i] = 0;
- i == arr.length - 1 && arr[i] == 0 && arr[i-1] == 0;
- arr[i] == 0 && arr[i-1] == 0 && arr[i+1] == 0.
/**
Runtime: 1 ms, faster than 94.88% of Java online submissions for Can Place Flowers.
Memory Usage: 41.3 MB, less than 7.14% of Java online submissions for Can Place Flowers.
*/
public class Solution {
public boolean canPlaceFlowers(int[] flowerbed, int n) {
int i = 0, count = 0;
while (i < flowerbed.length) {
if (flowerbed[i] == 0 && (i == 0 || flowerbed[i - 1] == 0) && (i == flowerbed.length - 1 || flowerbed[i + 1] == 0)) {
flowerbed[i] = 1;
count++;
}
i++;
}
return count >= n;
}
}