每天学习一点算法 2026/04/10
题目:Excel表列序号
给你一个字符串
columnTitle,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
例如:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
这其实就是一个 26 进制的表示,我们直接遍历所有的字符,将其转成对应的数字再乘上位权累加就行了。
typescript
function titleToNumber(columnTitle: string): number {
function getColumCount (letter: string) {
return letter.charCodeAt(0) - 64 // 将字母转成对应的序列数字
}
let sum = 0
const len = columnTitle.length
// 遍历累加序列数字
for (let i = 0; i < columnTitle.length; i++) {
sum += getColumCount(columnTitle[i]) * Math.pow(26, len - i - 1)
}
return sum
};
题目来源:力扣(LeetCode)