26进制转10进制,注意以'A'而不是0开头,因此要“+1”
解法一:
class Solution {
public:
int titleToNumber(string s) {
int n = s.size();
int ret=0;
for(int i = n-1; i >=0; --i)
ret +=pow(26,n-1-i)*(s[i]-'A'+1) ;
return ret;
}
};
解法二:
class Solution {
public:
int titleToNumber(string s) {
int ret = 0;
for(int i = 0; i < s.size(); i ++)
ret = ret*26 + (s[i]-'A'+1);
return ret;
}
};