168.Excel表列名称


168.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

题解:

class Solution {
    public String convertToTitle(int columnNumber) {
        StringBuilder res = new StringBuilder();
        /**
            和正常的26进制(1~26)比,本质上是每一位多加了1(变成0~25,26是AA),原来A==0、B==1,AB==26*0+1*1
            AB此时变成26*(0+1)+1*(1+1)
         */
        while (columnNumber > 0) {
            columnNumber--;
            int cur = columnNumber % 26;
            res.append((char) (cur + 'A'));
            columnNumber /= 26;
        }
        return res.reverse().toString();
    }
}

文章作者: Feliks
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Feliks !
评论
  目录