LeetCode 0168. Excel表列名称

Posted Tisfy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 0168. Excel表列名称相关的知识,希望对你有一定的参考价值。

【LetMeFly】168.Excel表列名称

力扣题目链接:https://leetcode.cn/problems/excel-sheet-column-title/

给你一个整数 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

方法一:模拟

详细的介绍可以参考我之前的一篇博客:https://letmefly.blog.csdn.net/article/details/124512136

有点类似十进制转二十六进制,但是Excel中列数是从1开始的而不是从0开始的。

也就是说0没有对应的字符。

如果是简单的进制转换,0应该对应字符A,但是这种情况下1对应字符A,因此在转换字符的每一位之前,把数字减去1即可。

  • 时间复杂度 O ( log ⁡ 26 c o l u m n N u m b e r ) O(\\log_26 columnNumber) O(log26columnNumber)
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++

class Solution 
public:
    string convertToTitle(int columnNumber) 
        string ans;
        while (--columnNumber >= 0) 
            ans = (char)(columnNumber % 26 + 'A') + ans;
            columnNumber /= 26;
        
        return ans;
    
;

同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/126156416

以上是关于LeetCode 0168. Excel表列名称的主要内容,如果未能解决你的问题,请参考以下文章

Excel表列名称-leetcode

《LeetCode之每日一题》:75.Excel表列名称

leetcode 168. Excel表列名称

LeetCode--168--Excel表列名称

LeetCode 815. 公交路线 / 909. 蛇梯棋(还是bfs)/ 168. Excel表列名称 / 171. Excel表列序号

leetcode:Excel表列名称(详解)