Excel Sheet Column Number

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 

Credits:

Special thanks to @ts for adding this problem and creating all test cases.


这个问题跟string 转换成数字是一样的,主要是判断周期,大写字母周期是26,,主要是将string 转换成数字中的10换成26就行了。

#include<iostream>
#include<string>
using namespace std;

int tonumber(string);
int main()
{
	string a[] = { "AAA", "BDF", "HK", "OHY", "AS", "IOU" };
	for (auto data : a)
	{
		cout << data << ' ' << tonumber(data) << endl;
	}
	system("pause");
	return 0;
}
int tonumber(string data)
{
	int len = data.size();
	int result = 0;
	int temp = 1;
	for (int i = len - 1; i >= 0; i--)
	{
		result = result + (data[i] - 'A' + 1)*temp;
		temp = temp * 26;
	}
	return result;
}


你可能感兴趣的:(Excel Sheet Column Number)