var spiralOrder = function(matrix) {
let res = [];
let m = matrix.length;
let n = matrix[0].length;
function cricle(i, j){
//i ,len - i - 1 ,j ,len - 1 - j 四个点画卷卷
//如果只有一行或者一列就直接放进来
if(i == m - i - 1){
for(let q = j; q <= n - 1 - j; q++)res.push(matrix[i][q]);
}
else if(j == n - 1 - j){
for(let p = i; p <= m - 1 - i; p++)res.push(matrix[p][j]);
}else{
for(let q = j; q < n - 1 - j; q++)res.push(matrix[i][q]);
for(let p = i; p < m - 1 - i; p++)res.push(matrix[p][n - 1 -j]);
for(let q = n - 1 - j; q > j; q--)res.push(matrix[m - 1 - i][q]);
for(let p = m - 1 - i; p > i; p--)res.push(matrix[p][j]);
}
}
//沿着斜对角线花圈圈,注意规则
for(let k = 0; k < Math.ceil(Math.min(m, n) / 2); k++)cricle(k, k);
return res;
};
JS力扣刷题54. 螺旋矩阵
最新推荐文章于 2022-04-12 08:49:34 发布