题目链接:Excel Sheet Column Number
Related to question Excel Sheet Column Title
Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
这道题的要求是将Excel表格中列标题转化成相对应的整数。
Excel Sheet Column Title的逆向操作,值得注意的还是记得加1。
时间复杂度:O(n)
空间复杂度:O(n)
1
2
3
4
5
6
7
8
9
10
11
class Solution
{
public:
int titleToNumber(string s)
{
int res = 0;
for(int i = 0; i < s.size(); ++ i)
res = res * 26 + (s[i] - 'A' + 1);
return res;
}
};
当然,递归的话,可以看到代码更简短,只剩下1行了。。。
1
2
3
4
5
6
7
8
class Solution
{
public:
int titleToNumber(string s)
{
return s.size() == 0 ? 0 : titleToNumber(s.substr(0, s.size() - 1)) * 26 + (s[s.size() - 1] - 'A' + 1);
}
};