From 46fc26e86b8dbc8d05a04f02eecbde3eee078164 Mon Sep 17 00:00:00 2001 From: DOEHOONLEE Date: Tue, 9 Feb 2021 15:59:19 +0900 Subject: [PATCH] fix spiralPrint function skipping some elements is fixed - #10 --- Chapter5(Arrays).js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Chapter5(Arrays).js b/Chapter5(Arrays).js index 2decd62..b191040 100644 --- a/Chapter5(Arrays).js +++ b/Chapter5(Arrays).js @@ -321,27 +321,27 @@ function spiralPrint(M) { btmRow = M.length - 1, rightCol = M[0].length - 1; - while (topRow < btmRow && leftCol < rightCol) { - for (var col = 0; col <= rightCol; col++) { + while (topRow <= btmRow && leftCol <= rightCol) { + for (var col = leftCol; col <= rightCol; col++) { console.log(M[topRow][col]); } topRow++; + for (var row = topRow; row <= btmRow; row++) { console.log(M[row][rightCol]); } rightCol--; - if (topRow <= btmRow) { - for (var col = rightCol; col > 0; col--) { - console.log(M[btmRow][col]); - } - btmRow--; + + for (var col = rightCol; col >= leftCol; col--) { + console.log(M[btmRow][col]); } - if (leftCol <= rightCol) { - for (var row = btmRow; row > topRow; row--) { - console.log(M[row][leftCol]); - } - leftCol++; + btmRow--; + + + for (var row = btmRow; row >= topRow; row--) { + console.log(M[row][leftCol]); } + leftCol++; } } spiralPrint(M);