Decode the Slanted Ciphertext LeetCode solution in JavaScript

1
var decodeCiphertext = function (encodedText, rows) {
2
const numColumns = encodedText.length / rows;
3
const stringBuilder = [];
4
let nextCol = 1;
5
let row = 0;
6
let col = 0;
7
let index = 0;
8
while (index < encodedText.length) {
9
stringBuilder.push(encodedText[index]);
10
if (row === rows - 1 || col === numColumns - 1) {
11
row = 0;
12
col = nextCol;
13
nextCol++;
14
} else {
15
row++;
16
col++;
17
}
18
index = calcIndex(row, col, numColumns);
19
}
20
while (stringBuilder[stringBuilder.length - 1] === " ") {
21
stringBuilder.pop();
22
}
23
return stringBuilder.join("");
24
};
25

26
function calcIndex(row, col, numColumns) {
27
return row * numColumns + col;
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0