给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
示例 1:
输入: 1
输出: "A"
示例 2:
输入: 28
输出: "AB"
示例 3:
输入: 701
输出: "ZY"
代码:
class Solution(object):
def convertToTitle(self, n):
"""
:type n: int
:rtype: str
"""
res = ''
while n > 0:
n,mod = divmod(n,26)
if mod == 0:
mod = 26
n -= 1
res += chr((mod+64)) #res = chr((mod+64)) + res
return res[::-1] #return res
总结:
注意细节:
if mod == 0:
mod = 26
n -= 1
然后就是锻炼代码熟悉程度,优化下自己的写法
大佬代码:
class Solution(object):
def convertToTitle(self, n):
"""
:type n: int
:rtype: str
"""
#需要注意26时:26%26为0 也就是0为A 所以使用n-1 A的ASCII码为65
result = ""
while n != 0:
result = chr((n-1)%26+65) + result
n = (n-1)/26
return result