思路:首先将列序号初始化为 0 ,然后从右往左遍历列名称,对于列名称的从右往左的第 i 位(0≤i<n),如果是第 k 个字母(1≤k≤26),则将列序号的值增加。遍历结束时即可得到列序号。
class Solution:
def titleToNumber(self, columnTitle: str) -> int:
number, multiple = 0, 1
for i in range(len(columnTitle) - 1, -1, -1):
k = ord(columnTitle[i]) - ord('A') + 1
number += k * multiple
multiple *= 26
return number