声明:原题目转载自LeetCode,解答部分为原创
Problem :
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
Solution:
思路:与上一道题目相反,本题的解题思路是将字符串中的每个字母都转换成26进制数的一个位数,再将得到的整个26进制数转换成十进制数。
代码如下:
#include<iostream>
using namespace std;
class Solution {
public:
int titleToNumber(string s) {
int result = 0;
for(int i = 0 ; i < s.size() ; i ++)
{
result = result * 26 + s[i] - 'A' + 1;
}
return result;
}
};
int main()
{
Solution text;
cout << text.titleToNumber("AB") << endl;
cout << text.titleToNumber("E") << endl;
return 0;
}