171. Excel 表列序号
给你一个字符串 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
方法
⭐️ 进制转换
var titleToNumber = function(columnTitle) {
let ans = 0;
for (let i = 0; i < columnTitle.length; i++) {
let num = columnTitle.charCodeAt(i) - 'A'.charCodeAt() + 1;
ans = ans * 26 + num;
}
return ans;
};
复杂度分析
- 时间复杂度:O(n),其中 n是列名称 columnTitle的长度。需要遍历列名称一次。
- 空间复杂度:O(1)。
注意点
- columnTitle[i]不是数字,是字符串,需要charCodeAt()来转换
- ans不需要+=,只需要=ans * 26 + num,应该num在后面写了,已经在后面加上了