目录
Excel表列名称
题解:
代码:
Excel表列名称
168. Excel表列名称 - 力扣(LeetCode)
给你一个整数 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进制,每26位进一次,但是一般是从0开始,
- 本题从1开始,所以数字要减一
进制转换思想:
- 循环对 number 进行 % 运算取得最后一位,
- 然后对 number 进行 / 运算,
- 将已经取得的位数去掉,直到 number 为 0
代码:
class Solution { public String convertToTitle(int columnNumber) { //看出是模拟26进制,每26位进一次,但是一般是从0开始, //本题从1开始,所以数字要减一 StringBuilder sb=new StringBuilder(); while(columnNumber>0){ columnNumber--; int temp=columnNumber%26; sb.append((char)('A'+temp)); columnNumber/=26; } sb.reverse(); return sb.toString(); } }