这两道题类似于进制转化,但又有所不同,因为这套数字表达的体系没有0,这里被坑了一下……
168.
class Solution {
public:
string convertToTitle(int n) {
int bit;
string ans;
while(n>0)
{
bit=n%26;
if(bit==0)
ans='Z'+ans;
else
ans=char('A'+bit-1)+ans;
n=n/26-(bit==0);
}
return ans;
}
};
171.
class Solution {
public:
int titleToNumber(string s) {
int ans=0,n=s.size(),i;
for(i=0;i<n;i++)
ans=ans*26+s[i]-'A'+1;
return ans;
}
};