Я пытаюсь решить следующий вопрос:
Строка «PAYPALISHIRING» написана зигзагообразно на заданном количестве строк, например так: (вы можете захотеть отобразить этот шаблон фиксированным шрифтом для лучшей читаемости)
P A H N
A P L S I I G
Y I R
А затем прочитайте построчно: "PAHNAPLSIIGYIR"
Напишите код, который будет принимать строку и выполнить это преобразование с учетом количества строк:
преобразование строки (строка s, int numRows);
Я написал следующий код, но получаю сообщение об ошибке в жирной строке
"TypeError: неподдерживаемые типы операндов для +: 'NoneType' и 'unicode'"
class Solution(object):
def convert(self, s, numRows):
"""
:type s: str
:type numRows: int
:rtype: str
"""
if numRows==1:
return s
templist=[None]*numRows
ret=" "
curRow=0
goingDown=0
for each_char in s:
if templist[curRow]:
templist[curRow]=each_char
else:
**templist[curRow]=templist[curRow] + each_char**
if (curRow==numRow-1 or curRow == 0):
goingDown = not goingDown
if goingDown:
curRow=curRow+1
else:
curRow=curRow-1
for each_str in templist:
ret=ret+each_str
print ret
Я что-то не так делаю в этом. Было бы здорово, если бы кто-то мог указать на проблему здесь.
Заранее спасибо