将字符串中的字符按Z字形排列,按行输出

示例1:

  Input: s = "PAYPALISHIRING", numRows = 3  

       

  Output: "PAHNAPLSIIGYIR"

示例2:

将字符串中的字符按Z字形排列,按行输出_第1张图片

Python解决方案:

    def convert(self, s, numRows):
        """
        :type s: str
        :type numRows: int
        :rtype: str
        """
        if len(s) <= numRows or numRows==1 :
            return s
        s_dict = {i:"" for i in range(numRows)}
        unit = 2*numRows - 2
        for i in range(len(s)):
            remain = i%unit
            if remain <= numRows - 1:
                s_dict[remain] += s[i]
            else:
                pos = unit - remain
                s_dict[pos] += s[i]
        out = ""
        for i in range(numRows):
            out += s_dict[i]
        return out

 

转载于:https://www.cnblogs.com/wenqinchao/p/10529461.html

你可能感兴趣的:(将字符串中的字符按Z字形排列,按行输出)