【CSDN 每日一练 ★☆☆】【数学】Excel表列名称
数学
进制转换
题目
给你一个整数columnNumber
,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例
示例 1:
输入:columnNumber = 1
输出:"A"
示例 2:
输入:columnNumber = 28
输出:"AB"
示例 3:
输入:columnNumber = 701
输出:"ZY"
示例 4:
输入:columnNumber = 2147483647
输出:"FXSHRXW"
提示
- 1 <= columnNumber <= 231 - 1
思路
- 26进制
实现
java
public String convertToTitle(int n) {
if (n <= 0) {
return "";
}
StringBuilder sb = new StringBuilder();
while (n > 0) {
// 模26,范围在0~25之间
n--;
// 转成对应字符
sb.append((char) (n % 26 + 'A'));
n = n / 26;
}
// 逆序输出,其实用递归实现,不需要逆序
return sb.reverse().toString();
}