/** * * @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 };