题目描述:
Related to question
Excel Sheet Column Title
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
分析:所有大写字母A-Z,依次映射到1-26。然后AA = 1 * 26 + 1,AB = 1 * 26 = 2,等等,不难看出,这其实就是26进制的换算,不多说了,直接给出C++实现代码:
class Solution {
public:
int titleToNumber(string s) {
int num= 0;
string::size_type i = 0;
for( i = 0; i < s.size(); i++ )
{
num = num * 26 + (s[i]-'A' + 1); /* 该处直接利用字符的ASCII码计算 */
}
return num;
}
};