[LeetCode By Python] 6. ZigZag Conversion

一、题目

ZigZag Conversion

二、解题

按照Z字形状来重新遍历字符串(看上去是N字吧~)

  • 思路是做了一个二维数组,然后按照一定的规律变化下标(使用flag来判断当前应该是向下还是向上),把字符串的数字填入到二维数组中去。
  • 最后遍历一下整个二维数组即可。

三、尝试与结果

class Solution(object):
    def convert(self, s, numRows):
        if s == "" or numRows == 0 or numRows == 1:
            return s
        resultList = [[] for i in range(numRows)]
        row = numRows - 1
        ri = 0
        ci = 0
        num = 0
        flag = 0 # flag 0 for down,1 for up
        while num < len(s):
            resultList[ri].append(s[num])
            if flag == 1:
                ci = ci + 1
                ri = ri - 1
            elif flag == 0:
                ri = ri + 1
            if ri == 0 or ri == numRows - 1:
                flag = flag ^ 1
            num = num + 1

        result = ""
        for listi in resultList:
            for j in listi:
                result += str(j)
        return result

结果:AC

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

推荐阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,007评论 2 13
  • 7岁的弘忍回答道信说,自己虽然无“姓”但有“佛性”,当道信进一步追问他是否真的无姓时,弘忍回答“性空故无”。佛教一...
    韩国和尚阅读 353评论 0 0
  • 这周我们阅读的段落中,我印象最深刻的是,在思考的过程中一定要有批判性思维,这也是我们这本书一直所提倡的。认清现实,...
    Dawn_乾琳阅读 167评论 0 1
  • 禾谷, 妈妈今天在外培训,直到现在已经晚上22:30,我们的讨论还在继续,我偷偷的跑到厕所里给你发了这封情书,因为...
    草马束木阅读 161评论 2 1
  • 上次跟大家分享过如何快速打造积累过万的粉丝,今天就跟大家分享如何打造爆文标题。也许很多人说,打造爆文标题就是“标题...
    98880994f6db阅读 378评论 0 0