171. Excel 表列序号 - 力扣(LeetCode)


可以使用类似将 Excel 列名称转换为 26 进制数的方法来求解。每个字母代表一个数字(A=1, B=2, ..., Z=26),然后从右到左计算它在 26 进制中的值。
代码实现:
def titleToNumber(columnTitle: str) -> int:
result = 0
for char in columnTitle:
result = result * 26 + (ord(char) - ord('A') + 1)
return result
# 测试
print(titleToNumber("A")) # 1
print(titleToNumber("AB")) # 28
print(titleToNumber("ZY")) # 701
解释:
- "A" = 1
- "AB" = 1 × 26 + 2 = 28
- "ZY" = 26 × 26 + 25 = 701
这个方法的时间复杂度是 O(n),其中 n 是字符串长度。
5万+

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



