题目描述:给定一个正整数n,返回其对应的字符,对应关系如下:
1 -> A
2 -> B
3 -> C
…
26 -> Z
27 -> AA
28 -> AB
解题思路:此题是进制转换问题,将10进制的正整数n转换成26进制的字符串。
C++实现如下:
class Solution
{
public:
string convertToTitle(int n)
{
string ret = "";
while(n)
{
//之所以n-1,是因为模26的结果是0-25,但是题目中下标是从1开始的,1-26对应的是A-Z,所以使n-1之后,0-25才对应A-Z
ret = char((n - 1) % 26 + 'A') + ret;
n = (n - 1) / 26;
}
return ret;
}
};