The problem of Zigzag pattern

来源:互联网 发布:万利达安卓软件 编辑:程序博客网 时间:2024/05/18 03:43

【leetcode】The problem of Zigzag pattern

题目描述

The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
ziazag pattern
And then read line by line: “PAHNAPLSIIGYIR”

Write the code that will take a string and make this conversion given a number of rows:

string convert(string text, int nRows);

convert(“PAYPALISHIRING”, 3) should return “PAHNAPLSIIGYIR”.

优秀python代码分享

    def convert(s, numRows):        if numRows == 1 or numRows >= len(s):            return s        L = [''] * numRows        index = 0 #index的使用十分巧妙        step = 1        for x in s:            L[index] += x            if index == 0:                step = 1            elif index == numRows -1:                step = -1            index += step        return ''.join(L)