题目描述
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
解题思路
进制转换:字符数组从左至右遍历,用算式s[i] - ‘A’ + 1将字符转换为数字,循环*26即可
代码
int titleToNumber(char * s){
int re = 0;
for (int i = 0; s[i] != '\0'; i++) {//从左至右高位到低位
int num = s[i] - 'A' + 1;
re = re * 26 + num;
}
return re;
}