题目:
The string "PAYPALISHIRING"
is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P A H N A P L S I I G Y I RAnd then read line by line:
"PAHNAPLSIIGYIR"
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert("PAYPALISHIRING", 3)
should return "PAHNAPLSIIGYIR"
.
链接:https://oj.leetcode.com/problems/zigzag-conversion/
描述:纯模拟就行了
solution by python:
class Solution:
# @return a string
def convert(self, s, nRows):
strings = ['' for i in range(nRows)]
i = 0;row_index = 0
while i < len(s):
while i < len(s) and row_index < nRows:
strings[row_index] += s[i]
i+=1
row_index+=1
row_index = nRows-2
while i < len(s) and row_index > 0:
strings[row_index] += s[i]
i+=1
row_index-=1
return ''.join(strings)