1. 题目
ZigZag字符串的描述见题目链接。给定行号,对于一个ZigZag字符串,需要按行号顺序输出每行的内容。
2. 代码
# 比较简单,将ZigZag字符串按顺序遍历,每个字符放入对应行中
class Solution(object):
def convert(self, s, numRows):
"""
:type s: str
:type numRows: int
:rtype: str
"""
if numRows == 1:
return s
ret = [[] for i in range(numRows)]
cur = 0
loop = 0
while cur < len(s):
if loop < numRows:
ret[loop].append(s[cur])
else:
ret[numRows * 2 - 2 - loop].append(s[cur])
cur += 1
loop += 1
loop %= (numRows * 2 - 2)
ans = ''
for item in ret:
ans += ''.join(item)
return ans