难度: Easy
原题连接
内容描述
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
思路 1 - 时间复杂度: O(N)- 空间复杂度: O(1)******
利用parseInt可以按照进制来解析的特性,可以将英文字母轻松转换成数字
代码:
/**
* @param {string} s
* @return {number}
*/
var titleToNumber = function(s) {
if (!s) {
return 0
}
let list = s.split('')
list = list.map((alpha, index) => (parseInt(alpha, 36) - 9) * Math.pow(26, list.length - index - 1))
return list.reduce((acc, cur) => (acc + cur), 0)
}