Leetcode练习(Python):数学类:第171题:Excel表列序号:给定一个Excel表格中的列名称,返回其相应的列序号。

题目:
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