Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
这就是个进制转换,把每位读出来乘上对应的26的次方数。
/**
* @param {string} s
* @return {number}
*/
var titleToNumber = function(s) {
var num = s.length;
var result = 0;
for (var i = 0 ; i<num ;i++) {
result += (s[i].charCodeAt(0)-64)*Math.pow(26,num-1-i);
}
return result;
};
还有个不用乘方的办法:
/**
* @param {string} s
* @return {number}
*/
var titleToNumber = function(s) {
var num = s.length;
var result = 0;
for (var i = 0 ; i<num ;i++) {
result = result * 26 + (s.charCodeAt(i) - 64);
}
return result;
};