题目:
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
思路:
从最右边向最左边扫描。最右边的基数是1,依次向左基数以26倍增大。最后把结果累加起来即可。
代码:
class Solution {
public:
int titleToNumber(string s) {
if (s.length() == 0) {
return 0;
}
int ret = 0, radix = 1;
for (int i = s.length() - 1; i >=0; --i) {
int value = s[i] - 'A' + 1;
ret += radix * value;
radix *= 26;
}
return ret;
}
};