Can Place Flowers

LeetCode題目: 605. Can Place Flowers

My solution:

/**
 * @param {number[]} flowerbed
 * @param {number} n
 * @return {boolean}
 */
let canPlaceFlowers = (flowerbed, n) => {
    let cloneFlowerbed = [...flowerbed], last = n;
    if(cloneFlowerbed.length < 1 || cloneFlowerbed.length > 2*Math.pow(10,4)) return 'flowerbed\'s length error!';
    if(last < 0 || last > cloneFlowerbed.length) return 'new flowers\' length error';
    for(let i= 0; i<cloneFlowerbed.length; i++) {
        if(![0,1].includes(cloneFlowerbed[i])) return 'flowerbed\'s array just only type 0 or 1'
        if((cloneFlowerbed[i-1] === 0 || cloneFlowerbed[i-1] === undefined) && cloneFlowerbed[i] === 0 && (cloneFlowerbed[i+1] === 0 || cloneFlowerbed[i+1] === undefined) && last > 0) {
            cloneFlowerbed[i] = 1;
            last--;
        }
    }
    return last === 0 ? true : false;
};
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。