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
Credits:
Special thanks to @ifanchu for adding this problem and creating all test cases.
Have you met this question in a real interview?
思路:这个和其他的进位转换不同, 要从后往前来转, 先 (n - 1)% 26 + ‘A’ to get the last digit, then n = (n - 1) / 26 move to the next loop.
易错点: 因为数字和 char 有加减 , 所以千万别忘记 要强制转化成 char。
n = (n - 1) / 26 下重循环 和 获取当前位置
public class Solution {
public String convertToTitle(int n) {
if(n < 1)
return null;
StringBuilder ret = new StringBuilder();
while(n > 0){
ret.append((char)('A' + (n - 1) % 26));//-----
n = (n - 1) / 26;//------
}
return ret.reverse().toString();
}
}