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
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
问题分析:题目所要表达的意思就是给定一个excel中的列标,然后输出对应的列号,从给出的例子中分析数据是从A-Z这26个字母逐渐叠加的,因此26为我们要用到的基底,对于单个字母可以理解分析为:26的零次幂乘上该字母与A的差值,注意要加上一。同理分析双字幕的BC来讲26的一次幂乘上(B-A+1)+26的零次幂乘上(C-A+1),从这个表达式可以看出,我们只需要对字符串的每一位的字母依次迭代然后相加即可得到答案,实现代码如下:
class Solution {
public:
int titleToNumber(string s) {
int n=s.size();
int result=0;
for(int i=0;i<n;i++){
result+=(s[i]-'A'+1)*pow(26,n-i-1);
}
return result;
}
};