给定一个Excel表格中的列名称,返回其相应的列序号。
例如
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
思路
26进制,逐位的转换成10进制即可
性能分析
没啥可分析的
具体代码
int titleToNumber(string s) {
int res = 0; // 结果
for(int i = 0; i < s.size(); i++){ // 遍历整个26进制数
res *= 26; // 倍增
res += s[i] - 'A' + 1; // 增加个位
}
return res;
}
网友评论