给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
思路:
对每个字符遍历,从前往后,相当于求26进制的数。
/**
* @param {string} s
* @return {number}
*/
var titleToNumber = function(s) {
var result = 0;
var currentChar = '';
var currentCharNum = 0;
while(s !== '') {
currentChar = s.charAt(0); // 获取第一个字符
currentCharNum = currentChar.charCodeAt() - 64; // 获取第一个字符的ASCII码
result = result * 26 + currentCharNum; // 之前的结果乘以26,加上当前字符
s = s.substring(1); // s去掉第一个字符
}
return result;
};