题目描述:
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A" 输出: 1
示例 2:
输入: "AB" 输出: 28
示例 3:
输入: "ZY" 输出: 701
解题思路:
类似于二十六进制。
代码实现:
class Solution:
def titleToNumber(self, s: str) -> int:
cout = 0 # 用于计数
weight = 1 # 记录该位上的权值
for x in s[::-1]: # 字符串反转后进行权值计算和累加
cout += (ord(x) - 64) * weight
weight *= 26
return cout

本文详细解析了一种算法,该算法能够将Excel表格中的列名称转换为其对应的列序号,采用类似二十六进制的计算方式,通过实例展示了如何处理从'A'到'ZY'等不同复杂度的列名。
2693

被折叠的 条评论
为什么被折叠?



