LeetCode Z字形變換

2021-10-04 10:25:46 字數 1321 閱讀 4296

繼續刷題

題目:z字形變換

將乙個給定字串根據給定的行數,以從上往下,從左往右進行z字形排列。

比如輸入字串為"leetcodeishiring"行數為 3 時,排列如下:

l   c   i   r

e t o e s i i g

e d h n

之後,你的輸出需要從左往右逐行讀取,產生乙個新的字串,比如:"lciretoesiigedhn"

示例:

輸入: s = "leetcodeishiring", numrows = 3

輸出: "lciretoesiigedhn"

code1

class

solution

int n = s.

length()

;//取numrows,字串s長度的較小值,用這個較小值來建立n個stringbuilder

int rows = math.

min(n,numrows)

; stringbuilder[

] arr =

newstringbuilder

[rows]

;for

(int i=

0;i++i)

int j=0;

//向上還是向下的標誌位

boolean isdown =

false

; stringbuilder res = arr[0]

;//遍歷字串s,並將字元放到arr[j]中,之後根據標誌位來判斷往下還是往上

for(

int i=

0;i++i)

if(isdown)

else

}for

(int i=

1;i++i)

return res.

tostring()

;}}

code2

class

solution

stringbuilder ret =

newstringbuilder()

;for

(stringbuilder row : rows) ret.

(row)

;return ret.

tostring()

;}}

leetcode Z字形變換

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

leetcode Z字形變換

將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。比如輸入字串為 leetcodeishiring 行數為 3 時,排列如下 之後,你的輸出需要從左往右逐行讀取,產生出乙個新的字串,比如 lciretoesiigedhn 請你實現這個將字串進行指定行數變換的函式 string c...

leetcode Z 字形變換

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