原理:设置两个变量:A=n/26;B=n%26;有两种情况:
情况1.A!=0&&B==0,这种情况需要n--;A--;B=26;退1位操作,相当于26=1*26=0*26+26;这样的操作可以处理AZ=52=2*26=1*26+26=A+Z=AZ;
情况2.除了上述情况,其余都是char AA= ‘A’+B-1;
class Solution {
public:
string convertToTitle(int n)
{
string ans;
do
{
int A = n/26;
int B = n%26;
if(B == 0 && A != 0)
{
A--;
n--;
B = 26;
char AA = 'Z';
ans = AA + ans;
}
else
{
char AA = 'A' + B - 1;
ans = AA + ans;
}
n = n/26;
}while(n);
return ans;
}
};