Excel Sheet Column Title
题目描述
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
解题方法
这个应该参照进制转化的方法,不断地除26取余数
- 如果余数是1-25, 就按照A-Y取
- 如果余数是0, 那么该位就应该是Z,并且下一次N要减去1来计算,因为下一位应该是从""开始而不是"A",index应该减1
- 这个可以理解成,虽然Z的时候26的倍数多了一个,但是并没有进位,所以要减去1
Solution
class Solution(object):
def convertToTitle(self, n):
"""
:type n: int
:rtype: str
"""
if not n:
return ""
result = ""
while n > 0:
r = n % 26
n = n / 26
if r:
result = chr(ord('A') + r - 1) + result
else:
result = "Z" + result
n -= 1
return result