题目:
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对应的该是第二个字母B,然而对应A,进位之后应该是BA,实际是AA,由此判断字母也是26进制,只是始终要小一位。因此在换算时候需要(n-1)一直循环。
代码:
public class Solution {
public String convertToTitle(int n) {
StringBuffer sb = new StringBuffer();
if(n < 1){
return null;
}
while((n-1)/26 > 0){
char i =(char)((n-1)%26+'A');
sb.append(i);
n = (n-1)/26;
}
char a = (char)((n-1) % 26+'A');
sb.append(a);
return sb.reverse().toString();
}
}