题目分析:将Excel表格左侧排序列字符转化为数字
比如
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28分析
原来十进制是
1 = 1 11 = (1)*10+1 111 = (1*10+1)*10+1也就是11*10+1 ... A = 1 AA = 26*(1)+1 AAA = 26*(26*1+1)+1这里A代表1 要写成s[i]-‘A’+1所以就是sum*26+s[i]-‘A’+1这也是我看了答案分析出来的 ==
int titleToNumber(char* s) {
int i;
int sum=0;
for(i=0;i<strlen(s);i++){
sum=26*sum+s[i]-'A'+1;
}
return sum;
}
Accept!耶!