We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 17e27eb commit b4b6cc0Copy full SHA for b4b6cc0
go/0006-zigzag-conversion.go
@@ -0,0 +1,25 @@
1
+package zigzagconversion
2
+
3
+import (
4
+ "strings"
5
+)
6
7
+func convert(s string, numRows int) string {
8
+ if numRows == 1 {
9
+ return s
10
+ }
11
+ var result strings.Builder
12
+ listLength := len(s)
13
+ step := (numRows - 1) * 2
14
+ for i := 0; i < numRows; i++ {
15
+ // reset steps at last row
16
+ for k := i; k < listLength; k += step {
17
+ result.WriteByte(s[k])
18
+ if i < numRows-1 && i > 0 && k+step-i*2 < listLength {
19
+ result.WriteByte(s[step+k-i*2])
20
21
22
23
24
+ return result.String()
25
+}
0 commit comments