leetcode168题。
先进行取模计算,得到最后一个位的字符,然后再进行求商运算,获得前面位的字符值,从右向左添加至结果字符串中。考虑到52应该是AZ,所以必须减去1,再进行求商运算,才能得到第一位是A
class Solution {
public:
string convertToTitle(int n) {
string result;
char ch;
int temp;
while (n > 0)
{
temp = n % 26;
if (temp == 0)
ch = 'Z';
else
ch = 'A' + temp - 1;
result = ch + result;
n = (n-1) / 26;
}
return result;
}
};