59. Spiral Matrix II
Leetcode
題目
解答
var generateMatrix = function(n) {
let startRow = 0;
let startCol = 0;
let endRow = n - 1;
let endCol = n - 1;
const result = Array.from({length: n}, () => Array(n));
let number = 1;
while(true) {
for(let i=startCol; i<=endCol; i++) {
result[startRow][i] = number++;
}
startRow++;
if (number > n**2) break;
for(let i=startRow; i<=endRow; i++) {
result[i][endCol] = number++;
}
endCol--;
if (number > n**2) break;
for(let i=endCol; i>=startCol; i--) {
result[endRow][i] = number++;
}
endRow--;
if (number > n**2) break;
for(let i=endRow; i>=startRow; i--) {
result[i][startCol] = number++;
}
startCol++;
if (number > n**2) break;
}
return result;
};測資
Last updated