37.Excel表列名称

/*给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

模拟
这是一道从 11 开始的的 2626 进制转换题。

对于一般性的进制转换题目,只需要不断地对 columnNumbercolumnNumber 进行 % 运算取得最后一位,然后对 columnNumbercolumnNumber 进行 / 运算,将已经取得的位数去掉,直到 columnNumbercolumnNumber 为 00 即可。

一般性的进制转换题目无须进行额外操作,是因为我们是在「每一位数值范围在 [0,x)[0,x)」的前提下进行「逢 xx 进一」。

但本题需要我们将从 11 开始,因此在执行「进制转换」操作前,我们需要先对 columnNumbercolumnNumber 执行减一操作,从而实现整体偏移。

*/
class Solution {
    public String convertToTitle(int cn) {
        StringBuilder sb = new StringBuilder();
        while (cn > 0) {
            cn--;
            sb.append((char)(cn % 26 + 'A'));
            cn /= 26;
        }
        sb.reverse();
        return sb.toString();
    }
}

 

posted @   随遇而安==  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示