给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A" 输出: 1
示例 2:
输入: "AB" 输出: 28
示例 3:
输入: "ZY" 输出: 701
60%多的AC率,相比之下Practice168只有20%多,所以应该把两道过程互逆的题的先后顺序换换比较好。之前168看了半天没明白,做了这道题之后就都理解了。。
思路很简单,就是二十六进制(用char型表述的)转十进制。代码如下:
class Solution {
public:
int titleToNumber(string s) {
int res = 0, i = 1;
reverse(s.begin(), s.end());
while (!s.empty()) {
res += (s[0] - 'A' + 1)*i;
s.erase(s.begin());
i *= 26;
}
return res;
}
};
本文介绍了一种将Excel表格中的列名称转换为其相应列序号的算法。通过二十六进制转十进制的方法,实现了从A到1、AB到28等的转换,为处理大型电子表格提供了高效解决方案。
945

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



