题目描述
给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
我的思路
仔细思考发其实现这就是一个没有用阿拉伯数字的26进制数!所以这就是个26进制转10进制问题。代码如下:
class Solution {
public:
int titleToNumber(string s) {
if(s.empty()) return 0;
int count = 0;
reverse(s.begin(), s.end());
for(int i = 0; i < s.size(); i++){
count += pow(26, i) * ((int)s[i]-64);
}
return count;
}
};
-------------------------------------------------2019-3-28-----------------------------------------------------------
上周蓝桥杯省赛考了这道题