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

题目:


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,481评论 0 5
  • 1.学习 今天的晨读分享了4个小建议: 001 约定是为了让人开心,赋予词语新的含义,你会有不同的感受; 002 ...
    徐镁鑫阅读 316评论 11 7
  • “啥时候回来?” “准备回来,十五分钟到家。” “饿了。” “我现在去打回来。” LG出去应酬,我看书到半夜,饿了...
    皋辜格琢阅读 468评论 0 0
  • 今天赶在天黑前回来了,丽贝卡就没有那么感伤了,反而有点心情不错的感觉!她没有选择和卡塔尔挨着坐,而是坐在他对面的位...
    Emily87阅读 165评论 0 1
  • 成熟就是能分辨哪些事是自己能做到的,哪些事不在自己的能力范围之内。能做到的会竭尽全力,做不到的就不勉强。先有自知...
    安嘉妤阅读 190评论 0 0