Question:
Given 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
分析:
相当于用A~Z表示26进制数(以1开始),若n可以被26整除,则说明Tile的最后一个字母为Z,将n置为n/26,否则余数(1~15)对应的字母为‘A’+余数-1,将n置为(n-26)/26;
代码如下:
<span style="font-size:14px;">class Solution {
public:
string convertToTitle(int n) {
string r = "" ;
char c;
int m = n;
if(n == 0)
return r;
while(m){
int tep = m % 26;
char p;
if(tep != 0){
p = 'A' + tep - 1;
r = p + r;
m /= 26;
}
else{
p = 'Z';
r = p + r;
m = (m-26) / 26;
}
}
return r;
}
};</span>