这道题涉及到字符串和进制转换,首先我们先创建一个A-Z到1-26的map映射,方便我们后续遍历字符串转换,然后对字符串从后往前遍历,依次加上对应权重,注意越往前的权重越大,要记得对应乘上26的对应方数
class Solution(object):def titleToNumber(self, columnTitle):""":type columnTitle: str:rtype: int"""ans = 0base = 1index = len(columnTitle) - 1# 使用字典推导式创建映射字典mapping = {chr(i): i - 64 for i in range(65, 91)}while index >= 0:ans += mapping[columnTitle[index]] * basebase *= 26index -= 1return ans