要求
给你一个字符串 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
解题思路:一道简单的26进制转十进制。