LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub

171. Excel 表列序号

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

例如,

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

示例 1:

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

示例 2:

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

示例 3:

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

示例 4:

输入: columnTitle = "FXSHRXW"
输出: 2147483647

提示:

数学 字符串 简单

代码

class Solution:

    def __init__(self):
        self.POWER26 = [1]
        for i in range(7):
            self.POWER26.append(self.POWER26[-1]*26)

    def titleToNumber(self, columnTitle: str) -> int:
        n = 0
        for i,c in enumerate(columnTitle[::-1]):
            n += (ord(c)-64) * self.POWER26[i]
        return n