前端算法题:JS递归实现杨辉三角
1 1 1 1 2 1 ... 输入 n ,输出数组 假设输入 3,输出数组 [[1],[1,1],[1,2,1]]
function triangle(num){
    let arr = [];
    arr.push([1]);
    loop([1]);
    
    function loop(lastarr){                               // 代码循环的部分
        if(lastarr.length < num){
            let newarr = [];
            newarr[0] = 1;                                // 头部是1
            newarr[lastarr.length] = 1;                   // 尾部也是1
            for(let i = 0; i < lastarr.length-1; i++){
                newarr[i+1] = lastarr[i] + lastarr[i+1];
            }
            arr.push(newarr);
            loop(newarr);
        }
    }
    return arr;
}
console.log(triangle(5));如果是需要输入下面的结果
1 1 1 1 2 1 ... 输入 n ,输出数组 假设输入 3,输出数组 [1, 1, 1, 1, 2, 1]
只需要添加arr.push的时候添加扩展运算符(...)即可,这里只需要更改两个地方
1. arr.push([1]) 改成 arr.push(...[1]) 2. arr.push(newarr) 改成 arr.push(...newarr)
相关推荐
  steeven    2020-11-10  
   Tips    2020-10-14  
   nongfusanquan0    2020-08-18  
   yedaoxiaodi    2020-07-26  
   清溪算法君老号    2020-06-27  
   pengkingli    2020-06-25  
   yishujixiaoxiao    2020-06-25  
   清溪算法    2020-06-21  
   RememberMePlease    2020-06-17  
   nurvnurv    2020-06-05  
   SystemArchitect    2020-06-02  
   码墨    2020-05-29  
   清溪算法    2020-05-27  
   choupiaoyi    2020-05-27  
   清溪算法    2020-05-25  
   bluewelkin    2020-05-19  
   dbhllnr    2020-05-15  
   steeven    2020-05-09  
   baike    2020-05-09  
 