之前一道题的逆问题。逻辑也很清晰,关键在于数字规律转化弄清楚就行。
如下:
int twitySixPowers(int n)
{
int result = 1;
while (n > 0) {
result *= 26;
n--;
}
return result;
}
int titleToNumber(char* s) {
if (s == NULL)
return 0;
int result = 0;
int slength = (int)strlen(s);
int temp = 0;
for (int i = slength - 1; i >= 0; i--) {
temp = s[i] - 'A' + 1;
result = result + temp * twitySixPowers(slength - 1 - i);
}
return result;
}