LeetCode Excel Sheet Column Title

LeetCode解题之Excel Sheet Column Title

原题

在Excel中,列名的表示形式为A,B,C…AA,AB…,给定一个正整数,将其转换为对应的列名。

注意点:

例子:

输入: n = 1

输出: ‘A’

输入: n = 28

输出: ‘AB’

解题思路

比较简单的一道题,相当于进制转换,转换的基数为26。注意一下高地位的问题,后转换出来的字母应该放在前面,还有所有字母都是大写。

AC源码

class Solution(object):
    def convertToTitle(self, n):
        """ :type n: int :rtype: str """
        result = []
        base = ord('A')
        while n:
            n, r = divmod(n - 1, 26)
            result.append(chr(base + r))
        return ''.join(result[::-1])


if __name__ == "__main__":
    assert Solution().convertToTitle(1) == 'A'
    assert Solution().convertToTitle(28) == 'AB'

欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。

你可能感兴趣的:(LeetCode,算法,python,数学,进制转换)