171. Excel 表列序号
给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。
例如:
A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 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在后面写了,已经在后面加上了
