原题描述
Excel Sheet Column Number
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
分析
观察规律可以发现这是一个26进制的计数法,所以按照常规方法计算,从最低位到最高位一次用该位数字与权值相乘然后累加起来。由于输入是string,考虑使用反向迭代器。
代码示例
class Solution {
public:
int titleToNumber(string s) {
int count = 0;
int j = 0;
for (string::reverse_iterator i = s.rbegin(); i != s.rend(); ++i)
{
count += pow(26, j++) * (*i - 'A' + 1);
}
return count;
}
};