6 Z 字形變換

2021-09-26 23:28:29 字數 753 閱讀 1578

題目.

中等意思

問題的關鍵在於,找到每一行的索引與原陣列的索引關係。發現迴圈週期。

package main

import

("fmt"

)func

convert

(s string

, numrows int

)string

circle := numrows + numrows -

2 rowbytes :=

make([

]byte,0

,len

(s))

//first row

for j :=

0; j <

len(s)

; j += circle

//middle rows

for i :=

2; i < numrows; i++}}

//last row

for j := numrows -

1; j <

len(s)

; j += circle

return

string

(rowbytes)

}func

main()

o(n)

o(n)

執行用時 :8 ms, 在所有 go 提交中擊敗了87.06%的使用者

記憶體消耗 :4 mb, 在所有 go 提交中擊敗了96.41%的使用者

6 Z字形變換

一 題目 將字串 paypalishiring 以z字形排列成給定的行數 p a h n a p l s i i g y i r之後從左往右,逐行讀取字元 pahnaplsiigyir 實現乙個將字串進行指定行數變換的函式 string convert string s,int numrows 示例...

6 Z字形變換

將字串 paypalishiring 以z字形排列成給定的行數 p a h n a p l s i i g y i r 之後從左往右,逐行讀取字元 pahnaplsiigyir 示例1 輸入 s paypalishiring numrows 3 輸出 pahnaplsiigyir 示例 2 輸入 s...

6 Z 字形變換

將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。比如輸入字串為 leetcodeishiring 行數為 3 時,排列如下 l c i r e t o e s i i g e d h n之後,你的輸出需要從左往右逐行讀取,產生出乙個新的字串,比如 lciretoesiigedh...