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
這就是個進(jìn)制轉(zhuǎn)換染苛,把每位讀出來乘上對應(yīng)的26的次方數(shù)想邦。
/**
* @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;
};