Skip to content

Commit cc1d9b5

Browse files
committed
[leet] zigzag conversion (mid)
1 parent 71be75b commit cc1d9b5

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* @param {string} s
3+
* @param {number} numRows
4+
* @return {string}
5+
*/
6+
var convert = function(s, numRows) {
7+
const arr = Array.from({ length: numRows }, () => [])
8+
9+
let idx = 0;
10+
let flag = true
11+
for(let i = 0 ; i < s.length ; i++){
12+
arr[idx].push(s[i])
13+
if(flag === true) {idx++}
14+
else {idx--}
15+
16+
if(idx >= numRows){
17+
flag = false
18+
idx -= 2
19+
if(idx < 0) idx = 0
20+
}
21+
if(idx === 0){
22+
flag = true
23+
}
24+
}
25+
let ans = ""
26+
for(let i = 0 ; i < numRows; i++){
27+
ans += arr[i].join("")
28+
}
29+
return ans
30+
};

0 commit comments

Comments
 (0)