Excel Sheet Column Title
Excel Sheet Column Title
Total Accepted: 17772 Total Submissions: 100508Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
Credits:
Special thanks to @ifanchu for adding this problem and creating all test cases.
开始看到这个题目,最开始是凭直觉就往26进制方面去想:
while(n>0)
{
c=(n-1)%26+1;
n/=26;
cstr[len++]=c+'A'-1;
}
但是后来发现输入26的时候会输出AZ,这是因为,本来26进制是0~25,但是,这里应该是每位1~26,用n/=26的
方式并不能将26的低位舍弃,需要手动把低位减去,这样就可以了。
class Solution {
public:
string convertToTitle(int n) {
int len=0,Count=1,c;
char cstr[100],temp;
while(n>0)
{
c=(n-1)%26+1;
n-=c;
n/=26;
cstr[len++]=c+'A'-1;
}
for(int i=0;i<len/2;i++)
{
temp=cstr[i];
cstr[i]=cstr[len-i-1];
cstr[len-i-1]=temp;
}
cstr[len]='\0';
return string(cstr);
}
};版权声明:本文为博主原创文章,未经博主允许不得转载。

浙公网安备 33010602011771号