6.ZigZag Conversion

这样一个简单的题目上,我竟然犯了四个错。。。

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

        res = ''

        n = len(s)
        for i in range(numRows):
            if i == 0 or i == numRows - 1:
                res += s[i:: 2 * numRows - 2]
            else:
                d1 = 2 * numRows - 2 - 2 * i
                idx = i
                # while idx < numRows:
                while idx < n:
                    res += s[idx]
                    # idx = 2 * numRows - d1
                    # idx = 2 * numRows - 2 - d1
                    # idx += 2 * numRows - 2 - d1
                    idx += d1
                    d1 = 2 * numRows - 2 - d1
        return res

results matching ""

    No results matching ""