171. Excel表列序号
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
思路
是一个26进制转换为10进制得问题,如ZY,它得“十”位数是Z,个位数是Y,就是26*26+25,用ord将字符转换成ASCII码减去64就可以得到A->1,B->2…的效果了。
class Solution:
def titleToNumber(self, s):
"""
:type s: str
:rtype: int
"""
res = 0
for index,item in enumerate(s):
res += (ord(item)-64)*26**(len(s)-index-1)
return res