题目:
Excel表列序号:给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
思路:
第168题的逆过程,思路较简单。
程序:
class Solution:
def titleToNumber(self, s: str) -> int:
myDict ={'A':1,
'B':2,
'C':3,
'D':4,
'E':5,
'F':6,
'G':7,
'H':8,
'I':9,
'J':10,
'K':11,
'L':12,
'M':13,
'N':14,
'O':15,
'P':16,
'Q':17,
'R':18,
'S':19,
'T':20,
'U':21,
'V':22,
'W':23,
'X':24,
'Y':25,
'Z':26}
length = len(s)
result = 0
auxiliary = 1
if length == 0:
return 0
elif length == 1:
result = result + myDict[s]
else:
for index in range(length - 1, -1, -1):
result = result + myDict[s[index]] * auxiliary
auxiliary = auxiliary * 26
return result