题解 | #螺旋矩阵#
螺旋矩阵
http://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31
*
* @param matrix int整型二维数组
* @return int整型一维数组
*/
function spiralOrder( matrix ) {
let res=[];
if(matrix.length===0) return res;
let l=0,r=matrix[0].length-1;
let t=0,b=matrix.length-1;
while(1){
for(let i=l;i<=r;i++){
res.push(matrix[t][i])
}
if(++t>b) break;//注意结束条件
for(let i=t;i<=b;i++){
res.push(matrix[i][r]);
}
if(--r<l) break;
for(let i=r;i>=l;i--){
res.push(matrix[b][i]);
}
if(--b<t) break;
for(let i=b;i>=t;i--){
res.push(matrix[i][l]);
}
if(++l>r) break;
}
return res;
}
module.exports = {
spiralOrder : spiralOrder
};