在Excel中,列名的表示情势为A,B,C…AA,AB…,给定1个正整数,将其转换为对应的列名。
注意点:
例子:
输入: n = 1
输出: ‘A’
输入: n = 28
输出: ‘AB’
比较简单的1道题,相当于进制转换,转换的基数为26。注意1下高地位的问题,后转换出来的字母应当放在前面,还有所有字母都是大写。
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) 来取得相干源码。