leetcode_171 Excel 表列序号

91 阅读1分钟

要求

给你一个字符串 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 titleToNumber(self, columnTitle: str) -> int:
        l = len(columnTitle) -1
        res = 0
        for index,item in enumerate(columnTitle):
            res += (ord(item) + 1 - ord("A")) * (26 ** (l - index))
        return res

另一解法

class Solution:
    def titleToNumber(self, columnTitle: str) -> int:
        res = 0
        for s in columnTitle:
            res *= 26
            res += 1 + ord(s) - ord("A")
        return res

image.png

解题思路:一道简单的26进制转十进制