美文网首页
06.leetcode题目讲解(Python):Z字形变换

06.leetcode题目讲解(Python):Z字形变换

作者: 夏山闻汐 | 来源:发表于2018-07-16 16:44 被阅读96次

题目:


image.png

这个题我采用的是通过方向控制,来将字符串里的字符添加到构建的list中,在循环中的碰到最后一行或者第一行进行方向改变。需要考虑行数为 1 的特殊情况,这种情况下直接返回字符串。

参考代码如下:

class Solution:
    def convert(self, s, numRows):
        """
        :type s: str
        :type numRows: int
        :rtype: str
        """
        # no need to convert
        if numRows == 1:
            return(s)

        zlist = []
        sc = ""
        n = numRows

        # create null list
        while n:
            zlist.append([])
            n = n - 1

        j = 0
        for a in s:
            if j == 0:
                # direction change
                coverse = False
            zlist[j].append(a)
            if j + 1 < numRows:
                if coverse:
                    j = j - 1
                else:
                    j = j + 1
            else:
                j = j - 1
                # direction change
                coverse = True

        # get the converted string
        for z in zlist:
            for t in z:
                sc = sc + t
        return(sc)

ps:如果您有好的建议,欢迎交流 :-D,也欢迎访问我的个人博客:tundrazone.com

相关文章

  • 06.leetcode题目讲解(Python):Z字形变换

    题目: 这个题我采用的是通过方向控制,来将字符串里的字符添加到构建的list中,在循环中的碰到最后一行或者第一行进...

  • 《Z字形变换》

    python算法题之《Z字形变换》 题目要求 代码及分析 结果

  • LeetCode每日一题,Z字形变换

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

  • Z字形变换

    Z 字形变换 题目: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排...

  • LeetCode-6 Z字形变换

    题目:6. Z字形变换 难度:中等 分类:字符串 解决方案:字符串遍历 今天我们学习第6题Z字形变换,这是一个字符...

  • 字符串 - Z字变形

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

  • Leetcode 6 Z字形变换

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

  • LeetCode 6. Z 字形变换

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

  • LeetCode 6 Z字形变换

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

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

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

网友评论

      本文标题:06.leetcode题目讲解(Python):Z字形变换

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