0171. Excel 表列序号【简单】
1. 📝 题目描述
给你一个字符串 columnTitle,表示 Excel 表格中的列名称。返回 该列名称对应的列序号。
例如:
txt
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
示例 1:
txt
输入: columnTitle = "A"
输出: 11
2
2
示例 2:
txt
输入: columnTitle = "AB"
输出: 281
2
2
示例 3:
txt
输入: columnTitle = "ZY"
输出: 7011
2
2
提示:
1 <= columnTitle.length <= 7columnTitle仅由大写英文组成columnTitle在范围["A", "FXSHRXW"]内
2. 🎯 s.1 - 暴力解法
js
/**
* @param {string} columnTitle
* @return {number}
*/
var titleToNumber = function (columnTitle) {
let result = 0
for (let i = 0; i < columnTitle.length; i++) {
// 将每个字符转换为对应的数字(A=1, B=2, ..., Z=26)
const charValue = columnTitle.charCodeAt(i) - 65 + 1
// 每向左移动一位,结果乘以26再加上当前位的值
result = result * 26 + charValue
}
return result
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- 时间复杂度:
,其中n是输入字符串columnTitle的长度,因为需要遍历每个字符进行计算。 - 空间复杂度:
,只使用了常数级别的额外空间来存储结果和中间变量。