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
这道题和转化N进制数很相似。观察AA,其实就是 1 * 26 + 1。 通过不停的取模再/=26从右往左的生成目标字符串。
string convertToTitle(int n) {
string res;
while(n) {
res = (char)((n - 1) % 26 + 'A') + res;
n = (n - 1) / 26;
}
return res;
}
由于希望得到取模数在 0 <= mod <= 25之间,即 A 对应着 0,Z 对应着 25,因此在取模和相除之前将 n 减去 1.