题解 | #螺旋矩阵#

螺旋矩阵

https://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param matrix int整型二维数组 
 * @return int整型一维数组
 */
function spiralOrder( arrs ) {
    if(!arrs.length || !arrs[0].length)
        return arrs
    let res = []
    let status = true
    while (arrs.length) {
        if(status){
            res = [...res,...arrs[0]]
            arrs.splice(0,1)
            if(arrs.length){
                arrs.forEach((element,index) => {
                    res.push(element[element.length-1])
                    arrs[index].pop()
                });
            }
            status = !status
        }else{
            res = [...res,...arrs.pop().reverse()]  
            if(arrs.length){
                let temp = []
                arrs.forEach((element,index)=> {
                    temp.push(element[0])
                    arrs[index].splice(0,1)
                })
                temp = temp.reverse()
                res = [...res,...temp]
            }
            status = !status
        }
        arrs = arrs.filter(item => item.length>0)
    }
    return res
}

module.exports = {
    spiralOrder : spiralOrder
};

全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
牛客154160166号:9月底还给我发短信,好奇怪,我24届的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务