6. Zigzag Conversion

class Solution:
    def convert(self, s: str, numRows: int) -> str:
        if numRows == 1:
            return s

        result = ''
        for row in range(numRows):
            step = (numRows - 1) * 2

            for i in range(row, len(s), step):
                result += s[i]

                if (row > 0 and row < numRows - 1 and i + step - 2 * row < len(s)):
                    result += s[i + step - 2 * row]

        return result