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
思路:先看下规律:
1--26 (A--Z)
26+1--26+26 (AA--AZ)
26+26+1--26+26+26 (BA--BZ)
设给定的数字为n,我们要想办法先把最后的余位给求出来,因为余位是1--26 (A--Z),
而求余运算的结果是会出现0的,所以我们通过 (n - 1) % 26来算,这样就变成了0--25 对应 (A--Z)。
求完余后,继续求前一位,通过(n - 1) / 26把余位给消除。
class Solution {
public:
string convertToTitle(int n) {
string res;
while (n)
{
res = (char)((n - ) % + 'A') + res;
n = (n - ) / ;
}
return res;
}
};