6. Z 字形变换
Ideas这题的思路其实只要想到了就很简单,首先创建一个numRows行的矩阵,每一行用来存Z字变换后每一行的字符,然后遍历字符串s,其实就是从上往下然后从下往上填充到每一行,所以可以用一个标志位表示现在是从上往下填充还是从下往上填充,最后把矩阵里的字符都拼起来就好了。
Code Pythonclass Solution: def convert(self, s: str, numRows: int) -> str: if numRows == 1: return s row, step, matrix = 0, -1, [[] for _ in range(numRows)] for ch in s: if row == 0 or row == numRows - 1: step = -step matrix[row].append(ch) row += step ans = '' for item in matrix: ans += ''.join(item) return ans