给你一个整数 columnNumber
,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 示例 1: 输入:columnNumber = 1 输出:"A" 示例 2: 输入:columnNumber = 28 输出:"AB"
基本思路:
- 观察题目,容易想到是将给定10进制转为用大写字母表示的26进制数
- 从最后开始取余数,转为字符,添加到输出最尾部
- 注意点:******十进制数为 0~9 ,这里A~Z为 1~26 *******
- 反过来:如果将A~Z用 0~25 那么 28表示为 BC 这里是 AB
- 那么可得:每一位减一后再取余数后才是正确的值
代码实现
public static String convertToTitle(int columnNumber) {
int temp = 0;
char tag;
String aim = "";
while ( columnNumber>0 ) {
columnNumber--;
temp = columnNumber%26;
tag = (char)(temp+65);
aim = tag + aim;
columnNumber = columnNumber/26;
}
return aim;
}