將字串"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示例 2:輸出: "pahnaplsiigyir"
輸入: s = "paypalishiring", numrows = 4輸出: "pinalsigyahrpi"
解釋:p i n
a l s i g
y a h r
p i
1class
solution(object):
2def
convert(self,s,numrows):
3'''45
:type s:str
6:type numrows:int
7:rtype:str
8'''
9if numrows==1 or numrows >=len(s):
10return
s11 l=['']*numrows #
建立長度為num的空列表
12 index,step=0,1
13for x in
s:14 l[index] +=x
15if index ==0:
16 step=1
17elif index==numrows-1:
18 step=-1
19 index +=step
20return
''.join(l)
2122 s='
paypalishiring
'23 str=solution.convert(1,s,3)
24print(str)
Z字形變換
題目 將字串 paypalishiring 以z字形排列成給定的行數 p a h n a p l s i i g y i r 之後從左往右,逐行讀取字元 pahnaplsiigyir 思路 通過從左向右迭代字串,我們可以輕鬆地確定字元位於 z 字形圖案中的哪一行。演算法 我們可以使用 min num...
Z 字形變換
將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。輸入 s leetcodeishiring numrows 4 輸出 ldreoeiiecihntsg l d r e o e i i e c i h n t s g 注釋思路 class solution 有了列數和行數,總個數...
Z 字形變換
將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。比如輸入字串為 leetcodeishiring 行數為 3 時,排列如下 l c i r e t o e s i i g e d h n之後,你的輸出需要從左往右逐行讀取,產生出乙個新的字串,比如 lciretoesiigedh...