力扣算法数学类—Excel表列名称

目录

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开始,所以数字要减一
  • 力扣算法数学类—Excel表列名称_第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();
    }
}

你可能感兴趣的:(题解,算法,leetcode,excel)