leetcode 6 Z字形變換

2021-08-21 02:35:33 字數 1140 閱讀 9409

將字串"paypalishiring"以z字形排列成給定的行數:

p   a   h   n

a p l s i i g

y i r

之後從左往右,逐行讀取字元:"pahnaplsiigyir"

實現乙個將字串進行指定行數變換的函式:

string convert(string s, int numrows);
示例 1:

輸入:s = "paypalishiring", numrows = 3輸出:"pahnaplsiigyir"
示例 2:

輸入:s = "paypalishiring", numrows = 4輸出:"pinalsigyahrpi"解釋:p     i    n

a l s i g

y a h r

p i

0          8                 16     

1    7    9      15      17

2    6   10    14       18

3    5   11    13       19

4          12               20

numsrows=5

第一行和最後一行

數的增量為0

0    0+8=8      8+8=16

4    4+8=12   12+8=20

中間行1    1+8-2=7    1+8=9     9+8-2=15   9+8=17

2    2+8-4=6      2+8=10  10+8-4=14  10+8=18

3    3+8-6=5    3+8=11   11+8-6=13   11+8=19

以此類推

class solution 

return result;

}};

LeetCode 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 輸入 s pa...

LeetCode 6 Z字形變換

把整個問題拆解為 儲存 取 的兩個過程 通過觀察我發現的是,當numrows為3時,兩列之間的數字的數目為1 當numrows為4時,兩列之間的數字的數目為2,以此類推。那麼,可不可以將每一列都存起來 col 兩列之間的數字也存起來 gap 最後要輸出時再通過遍歷的方式拼接出結果呢?以題目中給的字串...

LeetCode 6 Z字形變換

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