问题描述:
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
示例 1:
输入: 1
输出: "A"
示例 2:
输入: 28
输出: "AB"
示例 3:
输入: 701
输出: "ZY"
方法1:
class Solution(object):
def convertToTitle(self, n):
"""
:type n: int
:rtype: str
"""
alph="0ABCDEFGHIJKLMNOPQRSTUVWXYZ" quo = 0
res=""
flag = False
while n != 0:
quo = n // 26
remainder = n % 26
n = quo
if remainder == 0:
res += ("Z")
flag = True
if quo == 1:
break
if quo == 27:#除数为702时,商27余0结果为zz
res += ("Z")
break
else:
if flag:
res += str(alph[remainder-1])
flag = False
else:
res += str(alph[remainder])
res = res[::-1]
return res
官方:chr(65)为A
class Solution(object):
def convertToTitle(self, n):
"""
:type n: int
:rtype: str
"""
result = ""
while n != 0:
result = chr((n-1)%26+65) + result n = (n-1)/26
return result
2018-09-14 21:01:38