LeetCode #168 Excel Sheet Column Title Excel表列名称

168 Excel Sheet Column Title Excel表列名称

Description:
Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

    1 -> A
    2 -> B
    3 -> C
    ...
    26 -> Z
    27 -> AA
    28 -> AB
    ...

Example:

Example 1:
Input: 1
Output: "A"

Example 2:
Input: 28
Output: "AB"

Example 3:
Input: 701
Output: "ZY"

题目描述:
给定一个正整数,返回它在 Excel 表中相对应的列名称。

例如,

    1 -> A
    2 -> B
    3 -> C
    ...
    26 -> Z
    27 -> AA
    28 -> AB
    ...

示例:

示例 1:
输入: 1
输出: "A"

示例 2:
输入: 28
输出: "AB"

示例 3:
输入: 701
输出: "ZY"

思路:

不断取 26的余数和商即可, 注意边界条件
时间复杂度O(logn), 空间复杂度O(1)

代码:
C++:

class Solution 
{
public:
    string convertToTitle(int n) 
    {
        string result = "";
        while (n) 
        {
            n--;
            result += n % 26 + 'A';
            n /= 26;
        }
        reverse(result.begin(), result.end());
        return result;
    }
};

Java:

class Solution {
    public String convertToTitle(int n) {
        return n == 0 ? "" : convertToTitle(--n / 26) + (char)(n % 26 + 'A');
    }
}

Python:

class Solution:
    def convertToTitle(self, n: int) -> str:
        return self.convertToTitle((n - 1) // 26) + chr((n - 1) % 26 + ord('A')) if n else ""
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容