美文网首页
leetcode 6. Z字形变换 python实现

leetcode 6. Z字形变换 python实现

作者: vvblack4 | 来源:发表于2020-02-17 16:24 被阅读0次

题目:

leetcode6题目描述

解法:

这道题算是一道观察题吧...我们计算出每一行的字符串,最后再把各行字符串拼接起来。循环是和行数numRow有关的,每隔(numRow2-2)个字母循环一次。根据当前索引对(numRow2-2)取余,来确定当前字母在哪一行。可以看出:当取余后的结果小于行数时,余数就是对应的行数;当取余后的结果大于行数时,要通过余数变换到对应的行数,即新行数=(numRow*2-2)-余数。
具体代码如下:

class Solution:
    def convert(self, s: str, numRows: int) -> str:
        if numRows==1:
            return s
        s_len = len(s)          # 整个字符长度
        s_rows = [""] * numRows # 每一行的字符串
        loop_num = 2*numRows-2  # 循环长度

        for i in range(s_len):
            remainder = i % loop_num
            if remainder >= numRows:
                remainder = loop_num - remainder
            #print(s[i],remainder)
            s_rows[remainder] += s[i]

        return "".join(s_rows)

相关文章

  • Python算法-模拟过程实现算法

    6. Z 字形变换[https://leetcode-cn.com/problems/zigzag-convers...

  • leetcode 6. Z字形变换 python实现

    题目: 解法: 这道题算是一道观察题吧...我们计算出每一行的字符串,最后再把各行字符串拼接起来。循环是和行数nu...

  • LeetCode 6. Z 字形变换

    6. Z 字形变换 题目 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为...

  • leetcode 6. Z 字形变换

    https://leetcode-cn.com/problems/zigzag-conversion/ 做这道题,...

  • LeetCode 6. Z 字形变换

    题目 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 示例:输入: s = "LEETC...

  • [leetcode]6. Z 字形变换

    题目描述: 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETC...

  • LeetCode 6. Z 字形变换

    6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "L...

  • LeetCode 6. Z 字形变换

    将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEIS...

  • Python小白 Leetcode刷题历程 No.6-No

    Python小白 Leetcode刷题历程 No.6-No.10 Z 字形变换、整数反转、字符串转换整...

  • [LeetCode][M] 6. Z 字形变换

    将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEIS...

网友评论

      本文标题:leetcode 6. Z字形变换 python实现

      本文链接:https://www.haomeiwen.com/subject/tqnbfhtx.html