美文网首页
[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