- Zigzag Conversion
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P A H N
A P L S I I G
Y I R
And then read line by line: "PAHNAPLSIIGYIR"
Write the code that will take a string and make this conversion given a number of rows:
string convert(string s, int numRows);
// runtime 90.76% memory 77.58%
var convert = function(s, numRows) {
if (numRows == 1) {
return s
}
let res = ''
for (let i = 0; i < numRows; i++) {
for (let j = i; j < s.length; j += (numRows - 1) * 2) {
res += s[j]
const next = j + (numRows - 1 - i) * 2
if (i % (numRows - 1) != 0 && next < s.length) {
res += s[next]
}
}
}
return res
}