[1,2,3,6,9,8,7,1,5]
[1,2,3,6,9,8,7,4,5]
function spiralOrder(matrix) { // your code here... let top = 0; let left = 0; let bot = matrix.length - 1; let right = matrix[0].length-1; const results = []; const size = matrix.length * matrix[0].length; while (results.length < size) { for (let i = left; i <= right && results.length < size; i++) { results.push(matrix[top][i]); } top++; for (let i = top; i <= bot && results.length < size; i++) { results.push(matrix[i][right]); } right--; for (let i = right; i >= left && results.length < size; i--) { results.push(matrix[bot][i]); } bot--; for (let i = bot; i >= top && results.length < size; i--) { results.push([i][left]); } left++; } return results; }; matrix = [[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9]] console.log(spiralOrder(matrix)); // [1,2,3,6,9,8,7,4,5] matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]] console.log(spiralOrder(matrix)); // [1,2,3,4,8,12,11,10,9,5,6,7]
results.push([i][left]);
matrix
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)