[每日一题]6. Reverse Integer

1.感觉这是一道推理题。

给一个字符串s,给他一个竖的长度n,让他变成Z形状(竖的),然后横着读出新的字符串。
这题,数学题了。

6-Reverse-Integer.png

链接:
https://leetcode.com/problems/zigzag-conversion/

解题思路就是:
就是画图呗。然后找规律。


6-Reverse-Integer.png
2.题解:
class Solution:
    def convert(self, s, numRows):
        if numRows == 1:
            return s
        ret = []  # 传递新的list
        n = len(s)  # 记录s的长度
        cycleLen = 2*numRows - 2
        for i in range(numRows):
            j = 0
            while j+i < n:
                ret.append(s[j+i])
                if i != 0 and i != numRows-1 and j+cycleLen-i < n:
                    ret.append(s[j+cycleLen-i])
                j += cycleLen
        return ''.join(ret)
3.完整代码

查看链接:
https://github.com/Wind0ranger/LeetcodeLearn/blob/master/other/6-zigzag-conversion.py

你可能感兴趣的:([每日一题]6. Reverse Integer)