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,给出在EXCEL中列的值
思路:取余,相除,和以前在学校做的根据毫秒数求时间差不多
坑:一开始看是easy就没认真做,就知道是取余相除,结果有在边界上出了问题。
1、1<=n<=26时 n%26的值是从1到25,再到0,所以每一次都要先让n–,让n%26的范围变为0->25
2、第一个获得的是最后一个字母,要放到最后。
代码:
class Solution {
public:
string convertToTitle(int n) {
string ans;
while(true)
{
n--;
int d = n%26;
char a = 'A' + d;
ans = a + ans;;
n/=26;
if(n == 0) break;
}
cout << ans << endl;
return ans;
}
};