力扣:171. Excel 表列序号(Python3)

题目:

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。

例如:

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

来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:columnTitle = "A"
输出:1


示例 2:

输入:columnTitle = "AB"
输出:28


示例 3:

输入:columnTitle = "ZY"
输出:701

解法:

从右往左遍历标题字母,A~Z分别对应1~26,遍历次数从0开始,把字母对应数字 * 26的x次方加到结果中,x对应遍历次数。

代码:

class Solution:
    def titleToNumber(self, columnTitle: str) -> 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}
        result = 0
        for exp, c in enumerate(columnTitle[::-1]):
            result += dic[c] * pow(26, exp)
        return result

你可能感兴趣的:(LeetCode,leetcode,算法,python)