问题描述:

给定一个正整数,返回它在 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

05-11 15:48