在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) 來取得相干源碼。