给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A" 输出: 1
示例 2:
输入: "AB" 输出: 28
示例 3:
输入: "ZY" 输出: 701
致谢:
特别感谢 @ts 添加此问题并创建所有测试用例。
分析:
就是一个26进制转10进制的算法,模仿16进制转10进制的就可以了。
class Solution {
public:
int titleToNumber(string s) {
// 就是16进制数转10进制嘛
int num = 0;
for(int i=0; i<s.length(); i++){
num *= 26;
num += trans(s[i]);
}
return num;
}
// 26进制转化为10进制
int trans(char ch){
return ch - 'A' + 1;
}
};
1104

被折叠的 条评论
为什么被折叠?



