LeetCode Algorithm 6. Z 字形变换
Posted Alex Hub
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode Algorithm 6. Z 字形变换相关的知识,希望对你有一定的参考价值。
Ideas
这题的思路其实只要想到了就很简单,首先创建一个numRows行的矩阵,每一行用来存Z字变换后每一行的字符,然后遍历字符串s,其实就是从上往下然后从下往上填充到每一行,所以可以用一个标志位表示现在是从上往下填充还是从下往上填充,最后把矩阵里的字符都拼起来就好了。
Code
Python
class 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
以上是关于LeetCode Algorithm 6. Z 字形变换的主要内容,如果未能解决你的问题,请参考以下文章