LeetCode Algorithm 6. Z 字形变换

Posted Alex Hub

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode Algorithm 6. Z 字形变换相关的知识,希望对你有一定的参考价值。

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 字形变换的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 第6题 Z字型变换

leetcode 6: Z字形变换

[LeetCode] 6. Z 字形变换

Python版[leetcode]6. Z 字形变换(难度中等)

LeetCode 6. Z 字形变换(中)

LeetCode 6. Z 字形变换(中)