给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: “A”
输出: 1
示例 2:
输入: “AB”
输出: 28
int square26(int n)
{
int square = 1;
for(int i = 0 ; i < n ; i++)
{
square = square * 26 ;
}
return square;
}
int titleToNumber(char * s){
int charlen = strlen(s);
int sum = 0;
for(int i = charlen - 1 ; i >= 0 ; i--)
{
sum += square26(charlen - i - 1) * (s[i] - 'A' + 1);
}
return sum;
}
思路:就是2进制转10进制的变种。
例如 AB = A26+B1