[LeetCode By Python] 168. Excel Sheet Column Title

一、题目

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这个数字了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容