题解 | #螺旋矩阵#

螺旋矩阵

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
};

全部评论

相关推荐

我朋友的华子2012,HR已经开始问意向地区了,好急
不讲武德的黑眼圈很能干:急得不行 也不说评级 不知道报的多少啊😡
点赞 评论 收藏
分享
10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务