您的位置:首页 > 其它

leetCode第6题,Z字形变换

2018-09-22 09:42 363 查看

leetCode第6题,Z字形变换

class Solution(object):
def convert(self, s, numRows):
“”"
:type s: str
:type numRows: int
:rtype: str
“”"
# 按照规则创建新的只包含一个有效字母的列表
def newList(i,numRows,count):
result = []
loc = numRows-(count-numRows)-2
for j in range(numRows):
if j == loc:
result.append(i)
else:
result.append(’ ')
return result

if (len(s)<=1 or numRows<=1) or len(s)<=numRows:
return s

if (numRows==2):
s1 = s[::2]
s2 = s[1:][::2]
result1 = "".join(s1)
result2 = "".join(s2)
return result1+result2

storeList = []
count=0
nextS = []
for i in s:
if count<numRows:
nextS.append(i)
elif count==numRows:
storeList.append(nextS)
nextS = newList(i,numRows,count)
storeList.append(nextS)
else:
nextS = newList(i,numRows,count)
storeList.append(nextS)

count+=1
if coun
4000
t >= (numRows*2-2):
count=0
nextS = []
if len(nextS)>0:
if nextS[0]!=" ":
for i in range(len(nextS), numRows):
nextS.append(' ')
storeList.append(nextS)

resultList = []
for i in range(numRows):
for j in range(len(storeList)):
if storeList[j][i] != " ":
# resultList+str(storeList[j][i])
resultList.append(storeList[j][i])
return "".join(resultList)
# return storeList
# return resultList
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: