题目描述:
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
示例 1:
输入: 1
输出: “A”
示例 2:
输入: 28
输出: “AB”
来源:力扣(LeetCode)
解答方法:
class Solution {
public String convertToTitle(int n) {
StringBuilder s = new StringBuilder();
while(n>0){
int k = n%26;//n减去26是因为,后面直接拿一个K=26来让末位等于Z
if(k==0){
n-=26;
k=26;
} //利用ASCII码表,计算数字
char c = (char)((k-1)+(int)'A');//对应的字母,减一是因为加上了后面的A
s.insert(0,c);//然后插入序列的第一位
n/=26;//每往前一位的字母,都是后一位字母的26倍,所以需要除以26
}
return s.toString();
}
}