Leetcode 171

给定一个Excel表格中的列名称,返回其相应的列序号。

例如,

    A -> 1
    B -> 2
    C -> 3
    ...
    Z -> 26
    AA -> 27
    AB -> 28 
    ...

示例 1:

输入: "A"
输出: 1

示例 2:

输入: "AB"
输出: 28

示例 3:

输入: "ZY"
输出: 701
class Solution(object):
    def titleToNumber(self, s):
        """
        :type s: str
        :rtype: int
        """
        dic = {'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}
        if len(s) == 1:
            return dic[s]
        length = len(s)
        result = 0
        for i in range(length-1, -1, -1):
            result += dic[s[length - 1 - i]]*(26**i)
        return result

猜你喜欢

转载自blog.csdn.net/jhlovetll/article/details/84503544