美文网首页
[LeetCode By Python] 168. Excel

[LeetCode By Python] 168. Excel

作者: 乐乐可爱睡觉 | 来源:发表于2016-06-22 10:21 被阅读331次

    一、题目

    LeetCode By Python

    二、解题

    给出一个数字,返回对应的字母编码(A-1...Z-26)

    这个出发点是当做26进制来做,但是做出来却发现有点不同,例如十进制,是09,但是这里却是126,要对0进行特殊处理。

    三、尝试与结果

    class Solution(object):
        def convertToTitle(self, n):
            tar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
            result = ""
            while n > 0:
                m = (n-1) % 26
                result += tar[m]
                if m == 0:
                    n = n + 1
                n = (n-1) / 26
            return result[::-1]
    

    结果:AC

    有两个点需要说明:
    1)为什么要n-1,因为是tar的下标签是从0开始的,例如传进来一个1,要减1来匹配字符串的下标。
    2)为什么要n+1,因为没有0!例如传入的是27,当n-1了之后余数为0了,说明应该+1跳过一个0这个数字了。

    相关文章

      网友评论

          本文标题:[LeetCode By Python] 168. Excel

          本文链接:https://www.haomeiwen.com/subject/vvogdttx.html