0171._Excel_Sheet_Column_Number

0171. Excel Sheet Column Number

难度: 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可以按照进制来解析的特性,可以将英文字母轻松转换成数字

代码:

1
2
3
4
5
6
7
8
9
10
11
12
/**
* @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)
}