图片说明

/**
 * 
 * @param matrix int整型二维数组 
 * @return int整型一维数组
 */
function spiralOrder( matrix ) {
    // write code here
    if(matrix.length==0) return []
    var r = matrix.length - 1 
    var c = matrix[0].length - 1
    var m = 0
    var n = 0
    var result = []
    while(m<r && n<c){
        for(let i=n;i<c;i++){
            result.push(matrix[m][i])
        }
        for(let j=m;j<r;j++){
            result.push(matrix[j][c])
        }
        for(let i=c;i>n;i--){
            result.push(matrix[r][i])
        }
        for(let j=r;j>m;j--){
            result.push(matrix[j][n])
        }
        r--
        c--
        m++
        n++
    }
    if(r==m){
        for(let i=n;i<=c;i++){
            result.push(matrix[m][i])
        } 
    }else if(c==n){
        for(let j=m;j<=r;j++){
            result.push(matrix[j][c])
        }
    }
    return result
}
module.exports = {
    spiralOrder : spiralOrder
};